1

私は現在、自分のニーズに合わせて、好きなプラグインを変更しています。VimLの制限内で、自分がどのバッファーにいるのかを知る必要があるという問題に遭遇しました。

バッファを名前で参照できるようにする必要があります。具体的には、Vim自身の[Command Line]バッファ内にいるときを知る必要があります。ところで、、、またはを使用して達成q:できq/ますq?

私が変更しているプラ​​グインは次のとおりです:https ://github.com/jeffkreeftmeijer/vim-numbertoggle

そしてこれは私のフォークです:https ://github.com/Greduan/vim-numbertoggle

私がやりたいのは、私がこの特定のバッファにいるときを知り、呼び出され[Command Line]、その中にいるときに相対的な行番号を使用しないことです。

あなたが提供できるどんな助けにも感謝します!

4

2 に答える 2

5

bufname('')空の文字列でvimscript関数を使用します(詳細については、を参照してください:help bufname())。バッファの番号を取得するには、を使用しますbufnr('')

また、レジスタを使用して現在のバッファ内のファイル名を取得できます%

let current_file = @%
于 2012-12-04T15:55:39.070 に答える
2

コマンドラインウィンドウを作成するときにVimによって設定されたいくつかのオプションを確認できます。

  1. このファイルとディレクトリを作成します。

    ~/after/ftpugin/vim.vim
    

    このファイルに入れたものは、対応する。でファイルを編集したときにのみVimによって実行されますfiletype

  2. そのファイルに次の自明のコードを追加します。

    if &buftype == "nofile"
      setlocal number
    endif
    

ここで動作します。を追加することで、ニーズに合わせて簡単に調整できると思います&filetype == "vim"

于 2012-12-04T16:04:41.993 に答える