gvim
- 1. introduction
-
- 1.1 **gvim的功能(选择用gvim的原因)**
- 1.2 模式及切换
-
- 1.2.1 normal
- 1.2.2 insert
- 1.2.3 visual
- 1.2.4 command
- 2. gvim配置-vimrc
-
- 2.1 什么是vimrc
- 2.2 配置修改及理解
-
- 2.2.1 基本修改
- 2.2.2 UI 相关配置
- 2.2.3 编码相关配置
- 2.3.4 文件相关配置
- 2.3.5 编辑器相关配置
- 2.3 快捷键映射
-
- 2.3.1 map命令
- 2.3.2 查看快捷键对应命令
- 2.3.3 常用键盘符号
- 2.3.4 取消和查看键盘映射
- 2.3.5 leader
- 2.3.6 将按键序列包成function
- 3. gvim+ctags+taglist实现文件tags访问
-
- **3.1 taglist插件**
- **3.2 插件调用**
- **3.3 生成tags**
- **3.4 如何识别未知语言**
- **3.5 使用**
- 4. vim脚本
可以在终端使用下面语句给gvim的常用命令设置个别名:
alias g 'gvim'
alias gd 'gvimdiff'
1. introduction
vi、vim、 gvim 的联系与区别
大家可能都听说过vi vim gvim,下面讲解他们之间的联系与区别:
vi功能是最弱的,后来vi被增强加入众多特性,就是vim。
再后来vim加入图形接口(GUI),就产生了gvim。
很多命令从前到后被依次沿用,因此基本操作是类似的。
但是功能最强的是gvim,它的很多特性vim并不支持,vi更不支持。
比如你想让色彩更丰富?把光标闪烁停了?设置独立于终端的字体 …这些只有gvim支持。
1.1 gvim的功能(选择用gvim的原因)
四种模式自由切换;
查找、语法高亮;
查看、编辑、复制、粘贴、删除、替换、保存;
快速跳转(行跳转、以单词为单位跳转、区块/代码块跳转、);
文件跳转;
文件比较;
同时打开多个文件;
Tab显示多个文件;
分屏;
支持正则匹配
1.2 模式及切换
1.2.1 normal
正常模式主要用来浏览和修改文本内容的,一般,打开vim/gvim都是正常模式。在任何模式下,只要按下Esc 键就可以返回正常模式。
1.2.2 insert
插入模式则用来向文本中添加内容的
i: 在光标所在字符前开始输入文字并进入插入模式
a:在光标所在字符后开始输入文字并进入插入模式
o:在光标所在行的下面单独开一新行来输入文字并进入插入模式
s:删除光标所在的字符并进入插入模式
I:在行首开始输入文字并进入插入模式。此行首指第一个非空白字符处。如果行首有空格,则在空格之后输入文字并进入插入模式
A :在行尾开始输入文字并进入插入模式。这个好用,您不必管光标在此行的什麽地方,只要按A 就会在行尾等着您输入文字
O:在光标所在行的上面单独开一新行来输入文字并进入插入模式
S:删除光标所在行并进入插入模式
1.2.3 visual
V(shift+v):行选
鼠标左键选择:
shift+v后:
ctrl+v:块选
1.2.4 command
从normal模式敲个“:”进入命令模式
可以执行各种功能
2. gvim配置-vimrc
通过修改vimrc可以对自己的gvim做一些个性化的配置
2.1 什么是vimrc
vimrc 是 Vim 的配置文件, Vim 在启动时会加载 vimrc 文件, 你能想到的几乎所有的配置(包括主题, 快捷键, 插件设置等等), 都可以配置在 vimrc 中, 所以, vimrc 在 Vim 使用过程中有着至关重要的地位. Vim 是极其依赖 vimrc 配置的, 没有经过配置的 Vim 又丑又难用, 但是你如果懂得怎么配置, 就可以把 Vim 变成你想要的样子.
这里要明确一个概念: vimrc 中的大多数配置都是 Vim 命令模式下支持的命令, 都可以在命令模式下使用, 但是在命令模式中使用时, 只针对当前打开的 Vim 实例有效, 关闭了 Vim 之后再次打开, 之前在命令模式下的设置就无效了. 而配置到 vimrc 中, 每次 Vim 启动时都会自动读取并执行, 所以可以自动生效.
如何查找vimrc的位置?
-
gvim打开后,用命令模式“:version”
system vimrc file: "/etc/vimrc" user vimrc file: "$HOME/.vimrc" 2nd user vimrc file: "~/.vim/vimrc" user exrc file: "$HOME/.exrc" system gvimrc file: "/etc/gvimrc" user gvimrc file: "$HOME/.gvimrc" 2nd user gvimrc file: "~/.vim/gvimrc" system menu file: "$VIMRUNTIME/menu.vim" fall-back for $VIM: "/etc" f-b for $VIMRUNTIME: "/usr/share/vim/vim74"
通过上述信息可知, vimrc 文件的位置其实非常多, 加载顺序是自上而下, 找到第一个则使用第一个, 后续的不再使用, 如果第一个找不到, 则会依次向下寻找, 直到找到为止.
$HOME和$VIM可以通过echo查看,我公司用的都是自己用户路径,
/home/usr/xxx
或者
-
man vim查看vim信息,这里可以还可以看到vim文档的路径,有问题可以在这里查查文档/usr/share/vim/vim74/doc/*.txt
FILES /usr/share/vim/vim74/doc/*.txt The Vim documentation files. Use ":help doc-file-list" to get the complete list. /usr/share/vim/vim74/doc/tags The tags file used for finding information in the documentation files. /usr/share/vim/vim74/syntax/syntax.vim System wide syntax initializations. /usr/share/vim/vim74/syntax/*.vim Syntax files for various languages. /etc/vimrc System wide Vim initializations. ~/.vimrc Your personal Vim initializations. /etc/gvimrc System wide gvim initializations. ~/.gvimrc Your personal gvim initializations. /usr/share/vim/vim74/optwin.vim Script used for the ":options" command, a nice way to view and set options. /usr/share/vim/vim74/menu.vim System wide menu initializations for gvim. /usr/share/vim/vim74/bugreport.vim Script to generate a bug report. See ":help bugs". /usr/share/vim/vim74/filetype.vim Script to detect the type of a file by its name. See ":help \u2019filetype\u2019". /usr/share/vim/vim74/scripts.vim Script to detect the type of a file by its contents. See ":help \u2019filetype\u2019". /usr/share/vim/vim74/print/*.ps Files used for PostScript printing. For recent info read the VIM home page: <URL:http://www.vim.org/>
2.2 配置修改及理解
2.2.1 基本修改
首先第一条要修改的就是: 关闭兼容模式!
Vim 默认是以兼容 Vi 的模式运行的(Vi 是远古时期的 Vim), 在这种模式下, 很多 Vim 的高级特性都无法使用, 所以首先就要关闭兼容模式, 请把这条配置放在你 vimrc 文件的第一行
set nocompatible " 关闭兼容模式
vimrc 中, "
号后面的内容为注释.
修改并保存之后要使之生效, 需要重启 Vim. 还有个更简单的方法, 就是在命令模式下输入下面两个命令中的任意一个:
:source $vim/_vimrc
:source %
大部分情况下, 执行完上面的命令后, vimrc 的修改会立即生效, 但是有些特殊配置执行完这两个命令后不能及时生效, 这时就只能重启 Vim 了. 另外, :source
命令可简写为 :so
2.2.2 UI 相关配置
如果你觉得默认字体不好看, 可以使用如下配置修改字体和字宽
set guifont=Consolas:h14 "这表示使用 Consolas 字体, 字号为 14."
set gfn=Monospace\ 12
颜色:
colorscheme evening
"可选择的颜色配置
$ g /usr/share/vim/vim74/colors/
blue.vim default.vim desert.vim evening.vim morning.vim pablo.vim README.txt shine.vim torte.vim
darkblue.vim delek.vim elflord.vim koehler.vim murphy.vim peachpuff.vim ron.vim slate.vim zellner.vim
另外, 对于一个成熟的 vimer 来说, 界面上那些菜单, 工具栏什么的都是没啥用的, 可以关掉
" 关闭工具栏
set guioptions-=T
" 关闭菜单
set guioptions-=m
" 关闭左侧滚动条
set guioptions-=L
" 关闭右侧滚动条
set guioptions-=r
" 启动时最大化
autocmd GUIEnter * simalt ~x
注意: vimrc 中, 赋值配置的 =
右边最好不要有空格, 有些值加了空格无法识别
2.2.3 编码相关配置
Vim 的编码系统比较混沌, 几乎说不清楚, 总之你按照下面的配置方式就没问题了:
" 设置vim内部编码
set encoding=utf-8
" 设置编辑文件时的编码
set fileencoding=utf-8
" 设置 Vim 能识别的编码
set fileencodings=ucs-bom,utf-8,cp936,gb18030,gb2312,big5,cuc-jp,cuc-kr,latin
" 设置终端模式(非 GUI 模式)下的编码
set termencoding=utf-8
" 防止特殊符号无法显示
set ambiwidth=double
" 解决 console 输出乱码
language messages zh_CN.utf-8
2.3.4 文件相关配置
默认情况下, Vim 在运行期间会生成临时文件和备份文件, 以及修改历史文件(undo文件), 这些文件用处不大, 都是可以关