4

セッションを管理するためのvimscriptを書いています。セッションを保存するディレクトリをユーザーに設定させたいと思います。つまり、次のようになります。

let g:sessions_dir = "~/.vim/sessions"

ユーザーがセッションを作成してロードできるようにするコマンドがいくつかあります。ただしcmap、そのディレクトリ内のセッションを介してユーザータブを表示できるようにすることもできます。

cmap GSo :wa<CR> :source ~/.vim/sessions

これは機能し、ユーザーはTABキーを押してセッションファイルを循環できます。g:sessions_dirただし、 cmapでその変数を使用したいと思います。

4

3 に答える 3

4

cmap内に入れることができますexecute。例えば、

exe "cmap Gso :wa<CR> :so ".g:sessions_dir
于 2012-11-10T19:06:54.400 に答える
3

ここで使用でき<C-r>=ます:

cnoremap GSo :wa<CR> :source <C-r>=g:sessions_dir<CR>

(最後<CR>はのためです<C-r>=、それはコマンドを起動しません)。

于 2012-11-10T22:30:18.817 に答える
0

もう一つの例:

let g:work_dir='C:\...\'  " define a new global variable work_dir
:cmap <F1> Explore <C-r>=g:work_dir<CR>

コマンドラインでF1をクリックすると、次のように出力されます。 :Ex C:\...\

また

:cmap WK_DIR Explore <C-r>=g:work_dir<CR>

コマンドラインで入力WK_DIRすると、結果は上記と同じになります。

于 2020-10-20T06:53:11.583 に答える