我最近为我找到了一小段代码.vimrc
if has("autocmd")
" Highlight TODO, FIXME, NOTE, etc.
if v:version > 701
autocmd Syntax * call matchadd('Todo', '\W\zs\(TODO\|FIXME\|CHANGED\|XXX\|BUG\|HACK\)')
autocmd Syntax * call matchadd('Debug', '\W\zs\(NOTE\|INFO\|IDEA\)')
endif
endif
Run Code Online (Sandbox Code Playgroud)
基本上,它允许我定义与不同突出显示匹配的关键字(Todo 和 Debug 是颜色的名称)。
有没有一种方法可以定义我自己的配色方案并给它们命名?具体来说,我想要的是 3 个标签:TODO1、TODO2 和 TODO3。这个想法是 TODO3 的优先级低于 TODO1,因此以较浅的阴影突出显示。
如果我无法定义自己的颜色,在哪里可以找到我可以使用的颜色名称列表?
我想在 gvim(以及 MacVim)中重新映射修改后的点击,但某些修饰符组合有效而其他组合无效。在 Linux 机器上的 gvim 中,我想在我输入的任何地方插入“hello”:
:noremap <C-S-LeftMouse> <LeftMouse>ihello<ESC>
Run Code Online (Sandbox Code Playgroud)
但是,该命令不起作用:control-shift-click 保留其原始行为。但是我可以在 gvim 中重新映射 control-click:
:noremap <C-LeftMouse> <LeftMouse>ihello<ESC>
Run Code Online (Sandbox Code Playgroud)
在 MacVim 中,command-shift-click<D-S-LeftMouse>同样没有响应,大多数其他修改后的点击也是如此。
我怎样才能真正重新映射修改后的鼠标点击?
有人可以帮我为 VIM 配置 Dvorak 键盘映射吗?我想将我的 Dvorak 键映射配置为在 VIM 中工作,但我想将 QWERTY 键保留在导航/视觉模式下。(hjkl 用于导航等)。我尝试将 .vimrc 文件添加到我的 HOME 文件夹中,并将http://vim.wikia.com/wiki/Using_Vim_with_the_Dvorak_keyboard_layout中的按键映射写入其中:
set langmap='q,\\,w,.e,pr,yt,fy,gu,ci,ro,lp,/[,=],aa,os,ed,uf,ig,dh,hj,tk,nl,s\\;,-',\\;z,qx,jc,kv,xb,bn,mm,w\\,,v.,z/,[-,]=,\"Q,<W,>E,PR,YT,FY,GU,CI,RO,LP,?{,+},AA,OS,ED,UF,IG,DH,HJ,TK,NL,S:,_\",:Z,QX,JC,KV,XB,BN,MM,W<,V>,Z?
Run Code Online (Sandbox Code Playgroud)
但导航不起作用。
有任何想法吗?
操作系统:Mac OS 优胜美地
总 vim 新手,有没有办法映射两个连续<Shift>执行:FZF?我尝试了以下配置,.vimrc但没有运气
nmap <S><S> :FZF<Enter>
Run Code Online (Sandbox Code Playgroud) 我有一个降价文件,其中包含[this] [],[that] [],...和[其他] []等字样.我知道如何在MacVim中找到这些单词,但是如何用[this] [1],[that] [2],...和[其他] [n]替换它们,其中n是26案件?
如果它们被证明比使用MacVim更简单,我也会接受使用sed或awk甚至Ruby的解决方案.
如何从MacVim创建目录?
我可以:e用来创建文件,但我很难找到如何创建一个目录.
我试图mkdir从:,但它不工作.
我有vim和tmux设置.我试图让vim-powerline看起来像第一张照片.如果我有一个vim实例,那么我可以实现这一点,然后使用:vsplit来实现以下效果.

另一方面,如果我使用tmux使用垂直拆分,vim-powerline最终会如下所示:

我试图删除段,但vim-powerline仍然过早地截断并延伸到下一行.
我在iTerm2上使用Mac OSX Lion.vim来自brew.
任何帮助,将不胜感激!
我使用Vim插件ack.vim,但我不明白为什么命令是:Ack用大写的"A"(有点烦人持有shift).
是否有可能将其重新映射到:ack?
我发现Vim快捷方式nmap <enter> o<esc>或者nmap <enter> O<esc>用enter键插入一个空行非常有用.但是,它们会对插件造成严重破坏; 例如,ag.vim它使用要跳转到的文件名填充quickfix列表.在此窗口中按Enter键(应该跳转到文件)会给出错误E21: Cannot make changes; modifiable is off.
为了避免在quickfix缓冲区中应用映射,我可以这样做:
" insert blank lines with <enter>
function! NewlineWithEnter()
if &buftype ==# 'quickfix'
execute "normal! \<CR>"
else
execute "normal! O\<esc>"
endif
endfunction
nnoremap <CR> :call NewlineWithEnter()<CR>
Run Code Online (Sandbox Code Playgroud)
这是有效的,但我真正想要的是避免任何不可修改的缓冲区中的映射,而不仅仅是在quickfix窗口中.例如,映射在位置列表中也没有意义(并且可能会破坏使用它的其他一些插件).如何检查我是否在可修改的缓冲区中?