博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vim
阅读量:6940 次
发布时间:2019-06-27

本文共 5278 字,大约阅读时间需要 17 分钟。

简介

我是  爱好者(但不排斥 ), 这里收录一些Vim相关的文字。

Vim 是什么?如何下载、安装之类的本身很简单,而且网络上有诸多的介绍,这里不再赘述。 至于为什么使用 Vim?我就不劝你了。

传说 Vim 的学习曲线很陡,确实如此。 不过越是陡峭,只要持续付出,每前进一点,就越是有成倍的提升,这是好事。

  ^^

这里是  ,包含有配置文件、部分插件及根据自身习惯改写的资源文件。 项目目录结构基本保持和vim安装目录一致,里面有一个 Addons 目录] , 主要用来放置和 Vim 有关,但不适合放在 Vim 安装目录中的资源或工具文件。

我的大部分设置及插件都可以从 vimrc 中看出端倪,另外也可以参考我的 。

推荐参考的 vimrc

  •  
  •  -- (有一些不错的介绍和资源链接,有时间整理到本页) ^^
  •   
  •  

精准广告投放

希望相互交流学习, **

另外我发起了一个 *“”* ,欢迎有热忱、有兴趣的朋友参与。

教程

  •  ^^
  • 文档
    •  ^^
  • PPT
  • Video
    •   

选项(Options)

编码(Encoding)

字体(fonts)

Windows gvim 启动时默认激活最大化。

au GUIEnter * simalt ~x

参考 :h gui-win32-maximized 其他操作系统可以参考  和 

设置宽度不明的文字(如 “”①②→ )为双宽度文本 。

set ambiwidth=double

高亮光标所在行(我选择不改变前景和背景色,只加了一条下划线):

set cursorlinehi cursorline guibg=NONE gui=underline

注:高亮当前行在一定程度上会影响 Vim 的性能,降低缓冲区更新速度。

diff 模式下:

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

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

set clipboard+=unnamed

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

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

exe "startinsert"

映射(Mapping)

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

" Normal Mode, Visual Mode, and Select Mode," use 
and
to indent" @see http://c9s.blogspot.com/2007/10/vim-tips.htmlnmap
v>nmap
v
>gvvmap

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

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

vnoremap  *  y/
=escape(@", '\\/.*$^~[]')
vnoremap # y?
=escape(@", '\\/.*$^~[]')

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

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

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

noremap! 
noremap!
noremap!
noremap!

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

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

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

nmap 
:cw

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

" Toggle Menu and Toolbar" @see http://liyanrui.is-programmer.com/articles/1791/gvim-menu-and-toolbar-toggle.htmlset guioptions-=mset guioptions-=Tmap 
:if &guioptions =~# 'T'
\set guioptions-=T
\set guioptions-=m
\else
\set guioptions+=T
\set guioptions+=m
\endif

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

" Remove trailing whitespace when writing a buffer, but not for diff files." From: Vigil" @see http://blog.bs2.to/post/EdwardLee/17961function 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)    endifendfunctionautocmd BufWritePre * call RemoveTrailingWhitespace()

外观(Theme,Color Scheme)

  •  半透明效果,Linux下可以在终端使用Vim。
  •  - 随机生成Vim主题。
  •  - 在终端显示效果比GUI下要好。
  •  - 这是模仿针对 TextMate 的 IR_Blank 主题。
  •  

Syntax

  • Doxygen注释
  • HTML

Indent & Formats

  •   - for C, C++, C#, and Java Source Code.
  •  

插件(Plugins)

  •   
  • TagList
    • ^^
  • 代码补全
    •  - 号称提供 TextMate 的全部功能。
    • XPTemplate
  •  
  • Sparkup
  • Zen-Coding
    •   ,   
    •  - 有一个文本 movies 介绍。
  • ^^^^
  • Org-mode :  
  •   
  • TxtBrowser
  • VOOF
  • txtfmt
  • Python
    •  - Integrated Python debugging within Vim.
  • 自动补全
  • xml
    •  - 个人感觉太大,用不上这么多东西,而且第一次试用时中报没有设置 omni 之类的错误,编辑效率超低。
  • CSS3
  • 搜索(Search)
    •  - 较早版本,一直用着挺好。
    •  - 传说的升级版本,试用中。
    •  |  - 这两个 Multiple Search 项目已经搁置,另外 mark.vim 是更好的选择。
  • 注释文档(Comments Docs)
  • Java
    •  ^ ^
  • YUI
  • jQuery
  • Blog
    •  ^^
  • Twitter
    •  ^ ^
    •  - 已由 twitvim 替代。
  • 输入法(IME)
  • Shell
    •  - Run interactive commands inside a Vim buffer.
  • 其他
    •  - shrek.wang 基于 Python 写的插件。

 

技巧 (Tips)

  • vimrc (仅供参考)
  • 跳转(Jumps)
  • 正则表达式:
    •  
  • 文本对象 (Text Object)
  • 杂项

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

:browse w
:bro e
  •  

其他技巧 (Tips)

  • Program
  • 翻译取词
  • PDF 
  • 其他

Cheat Sheet

  • ^^
  •  - 非常非常好的Vim键图。

集合

  •  <!---->

Vim 脚本开发

延伸阅读

原生 Vim

  • ^^ - 原生 Vim,包括Vim, gVim, gVim Easy. 支持 Windows, Linux, Mac 平台。
  •  
    •  - 混沌海狂想
    •  
  •  - 相当 macvim 较轻量级的 Mac 版本。
  • ^^

Vim Like

  •  | 
  •  |  |  | 
  • PDF
    •  - 传说支持jk。
  • 即时通讯(IM)
  • Email
    • [ mail.vim: Syntax file for emails.
  • Office
    •  
      漫画:如果 Vim 是微软设计的。
  • File Manager
    •  - 国人基于Java开发的多栏文件管理工具。
    •  - Linux 下非常不错的文件管理器,Windows下稍丑。
  • Player
  • Develop
  • The Go Programming Language
  • ^^
  •  ()
  •  - 非常赞的一个在线Vim-like的编辑器。

Vim Games

  • ^^ - Vim 中的俄罗斯方块游戏。
  •  - 推箱子。
  •  - 模仿黑客帝国的屏保。
  • ^ ^

书籍(Books)

Learning the Vi and Vim

 - by Steve Oualline 

社区

  •  | 
  • vimcn@chatterous.com - GTalk,Email,Web,SMS,Twitter等多种通讯方式,参考 
  • QQ 群:Vim 草堂(28971390) - 撇开腾讯不说,这个群的氛围是非常不错,卧虎藏龙,而且都很热心。

幽默 & 文化

   

 

  ^^

  

 

 via: 

 

 via: 

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

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

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

世界上的程序员分三种,  一种使用 Emacs,  一种使用 Vim,  剩余的是其它。
给人一条 Vim 命令,他能折腾一晚上;告诉他怎么自定义 Vim 命令,他能捣腾一辈子.                -- Emacs

《大腕》编辑器版:

..周围同事不是用 Vim 就是 Emacs , 你要是用一 UltraEdit,你都不好意思跟人家打招呼…  什么插件呀,语法高亮呀,拼写检查呀,能给它开的都给它开着,就是一个字儿:酷。你说这么牛B一东西,怎么着学会也得小半年吧。半年!入门都远着呢,能学会移动光标就不错了,你还别说耗不起,就这还只是左右移动
对我来说 Vi 是禅,  使用 Vi 就是使用禅。每个命令都是心印,  这对用户来说是深奥的,  对未入门者来说是无法了解的。每次使用它你都能发现真理。                --Satish Reddy
商业化产品可能是有用的,
但最好的东西往往是免费的,
空气,水,Vim。
Q: How to generate a random string?
A: Put a fresh student in front of vi and tell him to quit.

转载地址:http://cvinl.baihongyu.com/

你可能感兴趣的文章
浅谈VR、AR、MR
查看>>
Linux systemctl 命令完全指南
查看>>
涨价停不下来?浅析SSD涨价的背后原因
查看>>
阿里云「MaxCompute最佳实践」征文大赛获奖文章公布
查看>>
借助全闪存 超融合扩展延伸到新的用途
查看>>
美国清洁能源发电成本与储能技术成本全披露
查看>>
医疗大数据带来多重“健康红利”
查看>>
卖掉用户和产品,互联网先驱雅虎从此就是个投资公司
查看>>
《Android应用开发攻略》——3.9 使用本地运行时应用程序日志分析现场错误情况...
查看>>
专访网金社CEO吴志刚,如何看待互金潮落及Fintech潮起?
查看>>
面对众多的前端框架,我们该如何学习?
查看>>
海外科技股玩闪崩 吓走泡沫吓不走真成长
查看>>
赛维“强裁之殇”:破产法该如何修改
查看>>
移动时代,如何随时随地保持舒适通讯?
查看>>
十款逆天级效率工具盘点:环信移动客服上榜
查看>>
不得了 美国ISP承诺不卖用户浏览记录
查看>>
再用Wi-Fi就过时了 Li-Fi的速度是它的100倍
查看>>
雅虎泄露事故黑客遭起诉能否起到有效的震慑?
查看>>
贵州推动大数据创新试验区建设
查看>>
索尼出售广州工厂 员工停产维权求补偿
查看>>