• Vim

Vim

 

转载自 http://wiki.hotoo.me/Vim.html

 

  1. 同步两侧的光标位置(Vim 7.3 已默认支持此特性;)
  2. 设置 <F7> <F8> 分别跳转到上一个不同、下一个不同处,如果不是 diff 模式, 则分别设置为 QucikFix 的上一条、下一条信息行。
    1. if &diff
    2. nmap <F7> [c
    3. nmap <F8> ]c
    4. else
    5. map <F7> :cp<cr>
    6. map <F8> :cn<cr>
    7. endif

Vim 的默认寄存器和系统剪贴板共享,可以在 vimrc 中加入:

set clipboard+=unnamed

由于 Vim 寄存器比系统剪贴板强大太多,为了避免共享时相互干扰,我自己没有这样做。

另外,我不推荐,但是如果你希望 Vim 启动时自动进入插入模式,可以在 vimrc 中加入:

exe "startinsert"

映射(Mapping)

普通模式,可视模式和选择模式下使用 <Tab> <Shift-Tab> 键来缩进文本。在可视模式和选择模式下,可以自动恢复选中的文本。

" Normal Mode, Visual Mode, and Select Mode,

" use <Tab> and <Shift-Tab> to indent

" @see http://c9s.blogspot.com/2007/10/vim-tips.html

nmap <tab> v>

nmap <s-tab> v<

vmap <tab> >gv

vmap <s-tab> <gv

注意:normal 模式下 <Tab> 键默认用于跳转到跳转列表较新的位置,我已经取消了这个设置,毕竟 normal 模式下基本是使用 >>

选中一段文字并全文搜索这段文字

vnoremap * y/<C-R>=escape(@", '\\/.*$^~[]')<CR><CR>

vnoremap # y?<C-R>=escape(@", '\\/.*$^~[]')<CR><CR>

自动补全成对的括号、引号

普通模式下使用空格键可以参考 gist:549200,这个脚本可以让你在 normal 模式下输入 [count]<Space>

插入模式下使用 Meta 键(Windows下是Alt键)+自定义快捷键来移动光标。注意:灵格斯(Lingoes Translator)的热键可能会有冲突,禁用或这更换灵格斯的热键即可。

noremap! <M-j> <Down>

noremap! <M-k> <Up>

noremap! <M-h> <left>

noremap! <M-l> <Right>

使用 Windows Explorer 打开当前文件所在文件夹,并选中目标文件,可以参考 gist#482563,这个脚本同时支持文件和 NERD_tree

快速启动命令行(cmd),并将默认目录设置为当前文件所在目录,可以参考 gist#482560,这个脚本同样支持文件和 NERD_tree

切换 Quickfix 窗口的打开和关闭状态。

nmap <F4> :cw<CR>

默认隐藏菜单栏和工具栏,可以通过 <F12> 切换显示和隐藏。

" Toggle Menu and Toolbar

" @see http://liyanrui.is-programmer.com/articles/1791/gvim-menu-and-toolbar-toggle.html

set guioptions-=m

set guioptions-=T

map <silent> <F2> :if &guioptions =~# 'T' <Bar>

\set guioptions-=T <Bar>

\set guioptions-=m <bar>

\else <Bar>

\set guioptions+=T <Bar>

\set guioptions+=m <Bar>

\endif<CR>

在保存文件时自动去除无效空白,包括行尾空白和文件最后的空行。

" Remove trailing whitespace when writing a buffer, but not for diff files.

" From: Vigil

" @see http://blog.bs2.to/post/EdwardLee/17961

function RemoveTrailingWhitespace()

if &ft != "diff"

let b:curcol = col(".")

let b:curline = line(".")

silent! %s/\s\+$//

silent! %s/\(\s*\n\)\+\%$//

call cursor(b:curline, b:curcol)

endif

endfunction

autocmd BufWritePre * call RemoveTrailingWhitespace()

外观(Theme,Color Scheme)

Syntax

Indent & Formats

插件(Plugins)

来源

技巧 (Tips)

打开、保存文件时,显示文件选择对话框,更多可以 :h browse

:browse w<cr>

:bro e<cr>

其他技巧 (Tips)

Cheat Sheet

集合

Vim 脚本开发

延伸阅读

原生 Vim

Vim Like

Vim Games

书籍(Books)


Learning the Vi and Vim

Vim Cookbook - by Steve Oualline Vim Recipes

社区

  • Vim-cn | Vim-Taiwan
  • 豆瓣Vim小组
  • 水木社区VIM
  • vimcn@chatterous.com - GTalk,Email,Web,SMS,Twitter等多种通讯方式,参考 欢迎加入 Vim GTalk
  • QQ 群:Vim 草堂(28971390) - 撇开腾讯不说,这个群的氛围是非常不错,卧虎藏龙,而且都很热心。
  • Vimer

幽默 & 文化

来源

來源

来源 ^2^

大图 来源

来源

via: Vim vs. Emacs

来源

via: REAL PROGRAMMERS

请在 Vim 中输入命令: :help! 或使用缩写 :h!

请在 Vim 中输入命令: :h 42 探索生命的意义。

请在 Vim 中输入命令: :h howto 并看文档的最后。

世界上的程序员分三种,

一种使用 Emacs

一种使用 Vim

剩余的是其它。

给人一条 Vim 命令,

他能折腾一晚上;

告诉他怎么自定义 Vim 命令,

他能捣腾一辈子.

-- Emacs

《大腕》编辑器版:

..周围同事不是用 Vim 就是 Emacs , 你要是用一 UltraEdit,你都不好意思跟人家打招呼

什么插件呀,语法高亮呀,拼写检查呀,能给它开的都给它开着,就是一个字儿:酷。

你说这么牛B一东西,怎么着学会也得小半年吧。

半年!入门都远着呢,能学会移动光标就不错了,你还别说耗不起,就这还只是左右移动

对我来说 Vi 是禅,

使用 Vi 就是使用禅。

每个命令都是心印,

这对用户来说是深奥的,

对未入门者来说是无法了解的。

每次使用它你都能发现真理。

--Satish Reddy

商业化产品可能是有用的,

但最好的东西往往是免费的,

空气,水,Vim

转载于:https://www.cnblogs.com/striveford/articles/1950995.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值