菜鸟一头。
从零开始学习vim,在学习的过程当中发现其实这个东西还真的听有意思,而且有了一些编程的基础学习这个貌似可以更快~
首先就是安装了www.vim.org上有下载(有可能需要安装dev,这个可以google之)。
从零开始,移动~
k
h l
j
学习这个没有花费很多时间,因为有在电脑上面玩街机模拟器的经历……设计者不知道是不是这个原因……
w:按词移动 ,3w也是可以的
b: begin
e:end
$: 锚点-结束和正则一致
^: 开始位置
o:换行并进入插入模式
J:合并两行
u:撤销
CTRL-R:撤销
U:还是撤销……
a:光标后插入
i: 插入
fx:移动到指定字符上
Fx:向左搜索
%:括号匹配
23G: 跳转到23行
gg:跳转到第一行
G:最后一行
50%:跳转到文件的中间
H:home
M:middle
L:last
:goto 123:跳转到123个字符处
CTRL-U命令会使文本向下滚动半屏
CTRL-D命令将窗口向下移动半屏
要 一 次 滚 动 一 行 可 以 使 用CTRL-E(向 上 滚 动)和CTRL-Y(向 下 滚 动)
要 向 前 滚 动 一 整 屏(实 际 上 是 整 屏 去 两 行)使 用 命 令CTRL-F。 另
外CTRL-B是它的反向版。很幸运CTRL-F是向前 ,CTRL-B是向后
zz命令会把当前行置为屏幕正中央
zb,zt
简单的字符串查找:
/STRING_WANT_TO_FIND<Enter> + n
?STRING_WANT_TO_FIND<Enter> + n
在文本中查找下一个WORD:
把 光 标 定 位 于 这 个word上 , 然 后 按下"*"键 。Vim将 会 取 当 前 光 标 所 在 的word并 将 它 作 用 目 标 字 符 串 进 行搜索 。
"#"命 令 是"*"的 反 向 版 。 还 可 以 在 这 两 个 命 令 前 加 一 个 命 令 计数:"3*"查找当前光标下的word的第三次出现。
"/>" 是一个特殊的记法,它只匹配一个word的结束处。近似地,"/<"匹配一个word的开始处。
当你用"G"命令从一个地方跳转到另一个地方时,Vim会记得你起跳的位置。这个位置在Vim中是一个标记“‵``”
Vim允许你在文本中定义你自己的标记。命令"ma"将当前光标下的位置名之为标记"a"。从a到z一共可以使用26个自定义的标记。
要跳转到一个你定义过的标记,使用命令`{mark}
"dw"命令可以删除一个word
此类命令有一个固定的模式:操作符命令+位移命令。
另一个操作符命令是"c",改变命令。它的行为与"d"命令类似,不过在命令执行后会进入Insert模式。比如"cw"改变一个word。或者,更准确地说,它删除一个word并让你置身于Insert模式.
x 代表dl(删除当前光标下的字符)
X 代表dh(删除当前光标左边的字符)
D 代表d$(删除到行尾的内容)
C 代表c$(修改到行尾的内容)
s 代表cl(修改一个字符)
S 代表cc(修改一整行)
下面是一个如何设置自动补全功能的文档:
http://hi.baidu.com/nash635/blog/item/70c7bdf4af8f7b60dcc47422.html
一,安装
-1,omnicppcomplete 的安装:
--1,下载omnicppcomplete,解压可得到三个文件夹(autoload,after,doc),分别复制到gvim的安装目录下的vimfiles文件夹中(ubuntu中为~/.vim)。这样omnicppcomplete就安装完成了。
-2,ctags 安装
--1,下载Ctags最新win32版本(当前是5.6),解压至某一目录(如c:/ctags56),并在系统环境变量中把添加ctags的安装路径 (如path=c:/ctags56),至此ctags也安装完成了(ubuntu 中直接 sudo apt-get install ctags)。
-3,taglist 安装
--1,下载taglist插件,解压得到两个文件夹(doc,plugin),把里面的文件分别复制到vim安装目录下对应的文件夹中(ubuntu中为~/.vim)。
-4,supertab插件安装
--1,下载supertab插件,复制supertab.vim到vim安装目录的plugin目录下,使用时只要直接按tab键,就可以直接进行补全。
二,配置
-1,下载本文的附件,解压可得到两个文件(stltags,cpptags;这两个文件是根据mingw5.3和c++ 标准库stl3.3制作的),复制到某目录(C:/ctags56/),然后在_vimrc(ubuntu下为~/.gvimrc或 /usr/share/vim/gvimrc)中添加下列代码,使用时用TAB键选择提示的代码:
-----------------------------
"setting for omnicppcomplete
set nocp
filetype plugin on
"下面的设置用于当用户预先声明namespace时也能自动补全代码(如使用using std::string)
let OmniCpp_DefaultNamespaces = ["std"]
" 设置代码提示窗口的颜色(默认为粉红色,如附图1,下面的设置的效果如附图2)
highlight Pmenu ctermbg=13 guibg=LightGray
highlight PmenuSel ctermbg=7 guibg=DarkBlue guifg=White
highlight PmenuSbar ctermbg=7 guibg=DarkGray
highlight PmenuThumb guibg=Black
"设置tags目录,可以根据自己的设置自动调整
set tags+=C:/ctags56/stltags
set tags+=C:/ctags56/cpptags
------------------------------
-2,制作其它库文件的tags文件
--1,在命令行模式下进入库文件的目录(一般为include和src),执行ctags -R --c++-kinds=+p --fields=+iaS --extra=+q ,然后在该库文件目录下即可得到一个名为tags的文件,更名后复制到自己的tags目录下,并在_vimrc中设置