lsからbufferにジャンプする方法は?


7

からバッファ番号を入力してバッファにジャンプする方法はあります:lsか?

Press ENTER or type command to continueつまり、このコマンドで、たとえばを押した場合2、何も実行されないと予想されるのはなぜですか?

明らかに、インストールするプラグインはありません.vimrc。少なくとも1つの小さなスクリプトをインストールします。

ありがとう。

回答:


10

何も変更せずに、そのプロンプトから最も簡単な方法は、おそらく:b+番号+ を押すことEnterです。しかし、ここで少し近道として、私(および他の多くの人々)が使用している方法を紹介します。

:nnoremap <leader>ls :ls<cr>:b<space>

<leader>ls未使用のノーマルモードキーコンボで置き換えることができます。キーを押すと、バッファリストが表示され、EnterそのPress ENTER...プロンプトを処理せずに+ を入力できます。

更新: OPは:ls完全に上書きしたいと考えています。それはで行うことができます

:cnoremap ls ls<cr>:b<space>

ただし、コマンドまたは検索語に「ls」が入力された場所ではマッピングが行われるため、これはお勧めできません。(警告についてPeter Rinckerに感謝します。)"ls"を入力する前に+ を入力することでこれを克服できます(たとえば、 "丘"を検索する場合に必要です)。コマンドや検索語で発生する可能性が低いキーコンボを選択することをお勧めします。Vimのヘルプでは、彼らはとても「_ls」との例があります。CtrlV/hil^Vls:cnoremap _ls ...


良い解決策は考えました。しかし:ls:ls<cr>:b<space>(あなたの例から)ネイティブにラップすることは可能ですか?新しい関数を追加するのではなく、上書きしようとしているのです。ありがとう
kAldown

確かに...私の最新の回答をご覧ください。
Bレイヤー

cmap検索などの他のコマンドライン「モード」で拡張できるので、には注意してください/
Peter Rincker、2017

あなたは正しかった@PeterRincker、今私はのために検索することはできません:find utilsD:それはLS含まれているため、
kAldown

1
VimのヘルプでCtrl-Vは、cマップされた文字を入力する前に入力することを推奨しています:find uti^Vls。まだ苦痛ですが、私にはまだより良いアプローチがありません。おそらく、代わりにマップする:lsx:lsq、の代わりにそれを使用することに慣れることができます:ls。( "lsx"と "lsq"は実際のコマンドや検索では表示されない可能性があります。)
Bレイヤー

1

vimをまったく構成しなくても、希望するワークフローに近いワークフローを取得できます。

<C-^>ctrl+ 6)を使用してn番目のバッファにジャンプできます。

の出力を表示しているときに数字を入力するとls、その数字が保存され、次のコマンドに渡すことができます。

偽のvimスクリーンショットを作成するために、数行しか表示されないようにフォントサイズを大きくし、次のリスト文字を設定しました。

execute("set listchars=eol:\xc2\xac,tab:>\\ ,trail:\xe2\x81\x9b,extends:>,precedes:<,space:\\ ") 

だから、あなたがするなら

$ mkdir -p /tmp/vim-example
$ cd /tmp/vim-example
$ vim ./a ./b

その後、画面は次のようになります。

¬                                 
~                                 
~                                 
~                                 
~                                 
~                                 
./a              0,0-1         All
"./a" [New File] 

を押すとファイルを見ることができます:ls<cr>

:ls                               
  1 %a   "./a"                    
      line 1                      
  2      "./b"                    
      line 0                      
Press ENTER or type command to con
tinue  

そこからタイプする2<C-^>、次のバッファに移動します。

¬                                 
~                                 
~                                 
~                                 
~                                 
~                                 
./b              0,0-1         All
"./b" [New File]  
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.