これは単純な(?!)vimscriptを使用しているだけなので、ファイルに入れることができます。ファイルvimrc
に対して機能するようになりましたが、(明らかに).c
非常に簡単に変更できます.cpp
。内部のifステートメントに「エラー処理」さえあります(それはおそらく無意味です)しかし、誰かがそれを必要とするなら、ねえ、そこにあります!それがないと、はるかに短くなります (:e %<.h
たとえば、 をそのままにしておきます)。
function! HeaderToggle() " bang for overwrite when saving vimrc
let file_path = expand("%")
let file_name = expand("%<")
let extension = split(file_path, '\.')[-1] " '\.' is how you really split on dot
let err_msg = "There is no file "
if extension == "c"
let next_file = join([file_name, ".h"], "")
if filereadable(next_file)
:e %<.h
else
echo join([err_msg, next_file], "")
endif
elseif extension == "h"
let next_file = join([file_name, ".c"], "")
if filereadable(next_file)
:e %<.c
else
echo join([err_msg, next_file], "")
endif
endif
endfunction
vimrc
次に、次の行に沿って何かをさらに追加します。
let mapleader = "," " <Leader>
nnoremap <Leader>h :call HeaderToggle()<CR>
通常モードのときはいつでも、カンマ,
(これが私たちの<Leader>
ボタンです) を押すh
と、上記の関数が呼び出され、ファイルを切り替えます。多田!