我的主要学习环境是windows
这篇关于vim的学习也是在windows下使用vim8.0学习时的记录
发现的要点是,括号匹配类似于脚本语言
执行的快捷键的命令会直接定向到cmd的shall
我们在写.vimrc的时候要注意自己的环境是windows还是linux
如果是windows那么在执行生成的文件是不加./
而在linux执行可执行文件要加./
如何打开文件
:e
如何保存退出
:wq
如何保存代码:
注意不是CTRL + S,
在VIM中CTRL + S是锁住的意思,锁住当前页面,我们用CTRL + q解除就可以了
应该在普通模式先使用:w
如何撤销操作:
u 按照时间往前推
CTRL+ r 撤销上一步操作
如何向上向下滚动
ctrl+u ctrl+d
打开退格建的退格功能
set backspace=indent,eol,start
显示行号
set number 或者 set nu
运行代码:
map :call Run()
func! Run()
exec “w”
exec “!g++ -Wall -std=c++11 % -o %<.exe”
exec “!%<.exe”
endfunc
-w的意思是关闭编译时的警告,也就是编译后不显示任何warning,因为有时在编译之后编译器会显示一些例如数据转换之类的警告,这些警告是我们平时可以忽略的。
-Wall选项意思是编译后显示所有警告。
"括号匹配
inoremap ( ()
inoremap [ []
inoremap { {}
inoremap " “”
inoremap ’ ‘’
我的.vimrc
syntax on " 语法高亮 set number "显示行号 map ggVG "全选复制 set nocompatible "去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限 set backspace=indent,eol,start "打开退格建的退格功能 " 自动缩进 set autoindent set cindent "括号匹配 inoremap ( () inoremap [ [] inoremap { {} "inoremap { {}kA inoremap " "" inoremap ' '' " 选中状态下 Ctrl+c 复制 vnoremap "+y " Ctrl+v nmap "+p "撤销 map ui "使用jj来代替来回到normal模式 inoremap jj "保存 inoremap :wi "前一个文件 inoremap :bn "后一个文件 inoremap :bp "运行代码: map :call Run() func! Run() exec "w" exec "!g++ -w -std=c++11 % -o D:/C/%<.exe" exec "!D:/C/%<.exe" endfunc "新建.c,.h,.sh,.java文件,自动插入文件头 autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()" ""定义函数SetTitle,自动插入文件头 func SetTitle() if &filetype == 'cpp' || &filetype=='c' call setline(1, "/*************************************************************************") call append(line("."), " > File Name: ".expand("%")) call append(line(".")+1, " > Author: Amazing") call append(line(".")+2, " > Mail: 00000000@qq.com ") call append(line(".")+3, " > Created Time: ".strftime("%c")) call append(line(".")+4, " ************************************************************************/") call append(line(".")+5, "") call append(line(".")+6, "#include") call append(line(".")+7, "using namespace std;") call append(line(".")+8, "int main()") call append(line(".")+9, "{") call append(line(".")+10, " ") call append(line(".")+11, " return 0;") call append(line(".")+12, "}") endif "新建文件后,自动定位到文件末尾 autocmd BufNewFile * normal G endfunc