vim - 无法弄清楚某些 vimrc 设置

标签 vim

我在 vimrc 文件中遇到以下几行,但无法弄清楚它们应该做什么或它们应该如何工作。我被 $ 符号的使用所抛弃。它有什么特殊含义还是像任何其他字符一样以常规方式使用?

" Parenthesis/bracket expanding
vnoremap $1 <esc>`>a)<esc>`<i(<esc>
vnoremap $2 <esc>`>a]<esc>`<i[<esc>
vnoremap $3 <esc>`>a}<esc>`<i{<esc>
vnoremap $$ <esc>`>a"<esc>`<i"<esc>
vnoremap $q <esc>`>a'<esc>`<i'<esc>
vnoremap $e <esc>`>a"<esc>`<i"<esc>

" Map auto complete of (, ", ', [
inoremap $1 ()<esc>i
inoremap $2 []<esc>i
inoremap $3 {}<esc>i
inoremap $4 {<esc>o}<esc>O
inoremap $q ''<esc>i
inoremap $e ""<esc>i
inoremap $t <><esc>i

如果有人感兴趣。 This是vimrc的链接

最佳答案

只看其中的两个。

第一个是 visual-mode mapping :

" Parenthesis/bracket expanding
vnoremap $1 <esc>`>a)<esc>`<i(<esc>

这将选择包含在 () 中当你输入 $1 时。首先它跳到选择的结尾( '> )和 a ppend)在跳转到选择的开头( '< )和 i nsert 之前正在( .

这是一个 insert-mode mapping :
" Map auto complete of (, ", ', [
inoremap $1 ()<esc>i

此插件()当您键入 $1 并将光标留在两个括号之间时。

关于vim - 无法弄清楚某些 vimrc 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9644844/

相关文章:

vim - Vim 中有这么多热键 - 那么如何为您的自定义操作选择一个热键呢?

vim - Vim tabularize 插件可以匹配每列多个表达式吗?

vim - 在vim中使用syntastic时如何有选择地禁用某些文件类型的检查器?

git - 如何让 Vim 打开 .git\COMMIT_EDITMSG 而不是 .git\.git\COMMIT_EDITMSG?

vim - 打开 vim 粘贴模式时将其关闭

vim - 突出显示 Python 字符串文字中的 SQL

Vim:从函数调用 ex 命令(set)?

c - 在 Vim 中重构 C/C++(例如像 Eclipse 中的方法提取)

vim - 获取vim以在一行中显示逗号数

vimrc 设置模拟 Sublime 的括号自动补全