标签: macvim

如何定义我自己的高亮颜色以在 vim 中与 matchadd() 一起使用?

我最近为我找到了一小段代码.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,因此以较浅的阴影突出显示。

如果我无法定义自己的颜色,在哪里可以找到我可以使用的颜色名称列表?

vim macvim

5
推荐指数
1
解决办法
2638
查看次数

如何在 gvim 中重新映射 control-shift-leftmouse?

我想在 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>同样没有响应,大多数其他修改后的点击也是如此。

我怎样才能真正重新映射修改后的鼠标点击?

mapping vim macvim

5
推荐指数
1
解决办法
1426
查看次数

无法为 Dvorak 键盘映射配置 VIM


有人可以帮我为 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 优胜美地

qwerty dvorak vim keymapping macvim

5
推荐指数
1
解决办法
286
查看次数

如何在 Vim 中映射两个连续的 Shift?

总 vim 新手,有没有办法映射两个连续<Shift>执行:FZF?我尝试了以下配置,.vimrc但没有运气

nmap <S><S> :FZF<Enter>  
Run Code Online (Sandbox Code Playgroud)

vim macvim

5
推荐指数
1
解决办法
651
查看次数

Vim/sed/awk使用增量整数查找和替换

我有一个降价文件,其中包含[this] [],[that] [],...和[其他] []等字样.我知道如何在MacVim中找到这些单词,但是如何用[this] [1],[that] [2],...和[其他] [n]替换它们,其中n是26案件?

如果它们被证明比使用MacVim更简单,我也会接受使用sed或awk甚至Ruby的解决方案.

ruby vim awk sed macvim

4
推荐指数
1
解决办法
1164
查看次数

来自MacVim的mkdir

如何从MacVim创建目录?

我可以:e用来创建文件,但我很难找到如何创建一个目录.

我试图mkdir:,但它不工作.

vim macvim

4
推荐指数
2
解决办法
935
查看次数

vim powerline + tmux不扩展以填满整个状态行

我有vim和tmux设置.我试图让vim-powerline看起来像第一张照片.如果我有一个vim实例,那么我可以实现这一点,然后使用:vsplit来实现以下效果.

Vim分裂与vim-powerline正常工作

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

Tmux与vim-powerline分裂看起来很奇怪

我试图删除段,但vim-powerline仍然过早地截断并延伸到下一行.

我在iTerm2上使用Mac OSX Lion.vim来自brew.

任何帮助,将不胜感激!

vim macvim tmux vim-powerline

4
推荐指数
1
解决办法
1726
查看次数

4
推荐指数
1
解决办法
4439
查看次数

是否可以在Vim中重新映射Ex命令(remap:Ack to:ack)?

我使用Vim插件ack.vim,但我不明白为什么命令是:Ack用大写的"A"(有点烦人持有shift).

是否有可能将其重新映射到:ack

vim macvim vim-plugin

4
推荐指数
1
解决办法
360
查看次数

如何检查Vim缓冲区是否可修改?

我发现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窗口中.例如,映射在位置列表中也没有意义(并且可能会破坏使用它的其他一些插件).如何检查我是否在可修改的缓冲区中?

vim macvim viml

4
推荐指数
2
解决办法
499
查看次数

标签 统计

macvim ×10

vim ×10

awk ×1

dvorak ×1

keymapping ×1

mapping ×1

qwerty ×1

ruby ×1

sed ×1

themes ×1

tmux ×1

vim-plugin ×1

vim-powerline ×1

viml ×1