Vim, 引数付きユーザー定義コマンドの書き方
結論
.vimrc
:command! -nargs=? UE UltiSnipsEdit <args>
経緯
:command! -nargs=? UE UltiSnipsEdit <args>
最近スニペット管理をするようになり、UltiSnippets
を使うようなったんですが、スニペット編集の際に:UltiSnipsEdit
を打とうとタブ補完をすると:UltiSnips
で止まってしまい不便だったので:UE
でいけるようにできないか調べました。
説明
ユーザー定義コマンドは以下のように定義するようです。
:com[mand][!] [{attr}...] {cmd} {rep}
com!
, command!
はコマンドの強制上書き、
{attr}
でコマンドの属性を記述、(上記で言う-nargs=?
)
{cmd}
で定義するコマンド名(上記で言うUE
)
{rep}
が定義コマンドを実行した際の代替テキスト(上記で言うUltiSnipsEdit <args>
)
今回使用した-nargs
は、引数の数などを指定することができます。
(例えば-nargs=?
の場合は0または1つの引数が許容)(:help nargs
参照)
*E175* *E176* *:command-nargs*
By default, a user defined command will take no arguments (and an error is
reported if any are supplied). However, it is possible to specify that the
command can take arguments, using the -nargs attribute. Valid cases are:
-nargs=0 No arguments are allowed (the default)
-nargs=1 Exactly one argument is required, it includes spaces
-nargs=* Any number of arguments are allowed (0, 1, or many),
separated by white space
-nargs=? 0 or 1 arguments are allowed
-nargs=+ Arguments must be supplied, but any number are allowed
Arguments are considered to be separated by (unescaped) spaces or tabs in this
context, except when there is one argument, then the white space is part of
the argument.
Author And Source
この問題について(Vim, 引数付きユーザー定義コマンドの書き方), 我々は、より多くの情報をここで見つけました https://qiita.com/woxjro/items/2a8a4d02a80820deeb90著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .