首页 > 代码库 > Vim【学习笔记】
Vim【学习笔记】
【2017-02-04】
先放几个比较好的资料,看这些资料就好了:
1.Vim入门基础 http://www.jianshu.com/p/bcbe916f97e1
2.vim配置 http://blog.csdn.net/g_brightboy/article/details/14229139
3.简明Vim练级攻略 http://coolshell.cn/articles/5426.html
4.http://blog.csdn.net/mu_zhou233/article/details/53045831
【update:2017-02-18】学会了替换
吐槽:在Mac OS上安装Vim好麻烦啊.........,并且mvim不支持shift选择了呜呜并且ctrl和command建都不知道按哪个,还是gvim好
我的配置文件
" Candy? MacOSset numberset rulerset tabstop=4set shiftwidth=4set autoindentset smartindentfiletype onsyntax oncolorscheme desertset showmatchset guifont=Monaco:h20set mouse=aset selection=exclusiveset selectmode=mouse,keynnoremap <F7> <Esc>:w<CR>:!g++ % -Wall -o nnoremap <F8> <Esc>:!./nnoremap <F9> <Esc>:w<CR>:!g++ % -Wall -o a<CR>nnoremap <F10> <Esc>:!./a<CR>
" Candy? Windowsset numberset rulerset tabstop=4set shiftwidth=4set autoindentset smartindentfiletype onsyntax oncolorscheme desertset showmatchset guifont=consolas:h17set mouse=aset selection=exclusiveset selectmode=mouse,keynnoremap <F7> <Esc>:w<CR>:!g++ % -Wall -o nnoremap <F8> <Esc>:!nnoremap <F9> <Esc>:w<CR>:!g++ % -Wall -o a<CR>nnoremap <F10> <Esc>:!a<CR>
后几个是为了方便编译
字体 Mac上用Monaco 20号(Monaco字体太漂亮了太可爱了),Windows上用consolas 17号
机房电脑的环境变量Path设置:
C:\Program Files (x86)\Vim\vim80;C:\Program Files (x86)\Dev-Cpp\MinGW64\bin;
命令概览:
命令前加数字N可以重复命令(通常是接下来N行/N个字符进行命令)
通常小写字母与下有关,大写字母与上有关
[附录]一些命令:
k 上移;j 下移;h 左移;l 右移。
gg 将光标定位到文件第一行起始位置;
G 将光标定位到文件最后一行起始位置;
0 数字0,左移光标到本行的开始;
$ 右移光标,到本行的末尾;
^ 移动光标,到本行的第一
个非空字符。
fc
Fc
<C+u>
<C+d>Ctrl+e 往后滚动一行 Ctrl+y 往前滚动一行 //windows不行?
* 当光标停留在一个单词上,* 键会在文件内搜索该单词,并跳转到下一处;
/str1 正向搜索字符串 str1;n 继续搜索,找出 str1 字符串下次出现的位置;N 继续搜索,找出 str1 字符串上一次出现的位置;?str2 反向搜索字符串 str2 。
x 删除光标所指向的当前字符;nx 删除光标所指向的前 n 个字符;
dd 删除光标所在行,并去除空隙;ndd 删除(剪切) n 行内容,并去除空隙;
d$ 从当前光标起删除字符直到行的结束;d0 从当前光标起删除字符直到行的开始;
dt"
→ 删除所有的内容,直到遇到双引号——"
d和y都可以当成两边加上范围用....(默认第一个范围是当前位置)
p 小写字母 p,将缓冲区的内容粘贴到光标的后面;P 大写字母 P,将缓冲区的内容粘贴到光标的前面。
yy 复制当前行到内存缓冲区;nyy 复制 n 行内容到内存缓冲区;
“+y 复制 1 行到操作系统的粘贴板;“+nyy 复制 n 行到操作系统的粘贴板。
u 撤消前一条命令的结果;
<C+r> 恢复命令. 重复最后一条修改正文的命令。
i 在光标左侧插入正文a 在光标右侧插入正文o 在光标所在行的下一行增添新行O 在光标所在行的上一行增添新行I 在光标所在行的开头插入A 在光标所在行的末尾插入
:n 将光标移到第 n 行
正则表达式 替换:
:s/str1/str2/ 用字符串 str2 替换当前行中首次出现的字符串 str1:s/str1/str2/g 用字符串 str2 替换当前行中所有出现的字符串 str1
:%s 所有行:.,$ s/str1/str2/g 用字符串 str2 替换当前行到末尾所有出现的字符串 str1:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1
:m,ns/str1/str2/g 将从m行到n行的str1替换成str2
:split(可用缩写 :sp) 上下分屏;:vsplit(可用缩写 :vsp) 左右分屏。
<C+w+w> 切换
:res 大小
:tabnew 新标签
gt gT 标签切换
<< >> 缩进
可视 块
<C+v> <C+q>
Vim【学习笔记】
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。