文本编写–编写代码
vim使用
vim是多模式编辑器
vim的基本概念
vim有很多模式,这里介绍其中的三种
vim的三种模式:命令模式、插入模式和底行模式
- 命令模式:用户所有输入都会被当成命令,一般不做文本输入。
作用:控制屏幕光标的移动,字符、字或行的删除,移动复制某区段以及进入insert mode或者last line mode下。 - 插入模式:后面使用最频繁的编辑命令
作用:只有在该模式下,才可以做文字输入。按[Esc]可回退到命令格式。 - 底行模式:在命令模式下按[shift+:]即可进入该模式
作用:文件保存并退出,也可以进行文件切换,找字符串,列出行号等。
vim的基本操作
vim命令模式命令集
- 移动光标
- vim使用小写字母 ‘h’、‘j’、‘k’、‘l’ 分别控制左、下、上、右
- [shift + g] :移动到文本的最后。
- [n+shift+g]:把光标定义到第n行
- [g+g]:移动到文本开始。
- [$]:移动光标到所在行的行尾
- [^]:移动光标到所在行的行首
- [w]:光标跳到下个字的开头
- [b]:光标跳到上个字的开头
- [#+l]:以光标当前位置为基础,在改行向后移动n个位置
- 删除文字
- [d+d]:删除光标所在行
- [n+d+d]:从光标所在行开始,删除n行
- [x]:删除光标所在位置的字符
- [n+x]:删除光标所在位置后面n个字符(包括自身)
- [X]:删除光标所在位置前一个字符
- [n+X]:删除光标所在位置前面n个字符
- 复制
- [y+y]:复制光标所在行
- [n+y+y]:拷贝光标所在行,往下数n行的字符
- [p]:粘贴
- [n+p]:粘贴n行到光标所在行的下一行
- [y+w]:将光标所在之处到字尾复制到缓冲区
- [y+w+n]:复制n个字符
- 替换
- [r]:替换光标所在处的字符。
- [n+r]:对光标所在处的字符+之后的n-1个字符进行批量转化
- [shift+r]:替换光标所到之处的字符,直到按下Esc
- 撤销
- [u]:回到上一次操作,可以多次按
- [R]:撤销的恢复
vim可视块模式
在命令模式下执行Ctrl+v,进入可视块模式。可以使用I(大写i)进入插入模式,按k、j键选择行进行批量操作。也可以使用dd直接批量删除
vim底行模式命令集
在底行模式可以执行外部命令
eg:
! ./a.out
- 列出行号
- [set nu]:每一行前面列出行号
- [set nonu]:取消行号
- 跳到文件某一行
- [n]:在底行模式输入一个数字,回车,直接跳到改行
- 查找字符
- [/+关键字+回车]:如果找的关键字不是想要的可以按[n]。
- [?+关键字+回车]:如果找的关键字不是想要的可以按[n]。
- [/] 和 [?] 的区别:前者[n]键向后翻,后者[n]键前翻
- 批量替换
%s/被替换内容/新内容/g
简单vim配置
一个用户一个vim配置文件,不会相互影响。不建议给root配置
root 的vim位置 :ls etc/vimrc
配置文件位置
每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。
- cd ~
- 创建 .vimrc
- vim .vimrc (执行该语句,在.vimrc中设置即可)
常用配置
- 设置语法高亮:syntax on
- 显示行号:set nu
- 设置缩进的空格数为4:set shiftwidth=4
使用插件
- 安装TagList插件,下载taglist_xx.zip ,解压完成,将解压出来的doc的内容放到~/.vim/doc, 将解压出来的plugin下的内容拷贝到~/.vim/plugin
- 在~/.vimrc 中添加:
let Tlist_Show_One_File=1 let Tlist_Exit_OnlyWindow=1 let Tlist_Use_Right_Window=1
- 安装文件浏览器和窗口管理器插件: WinManager
- 下载winmanager.zip,2.X版本以上的
- 解压winmanager.zip,将解压出来的doc的内容放到~/.vim/doc, 将解压出来的plugin下的内容拷贝到 ~/.vim/plugin
- 在~/.vimrc 中添加
let g:winManagerWindowLayout=‘FileExplorer|TagList nmap wm :WMToggle<cr>
- 然后重启vim,打开~/XXX.c或~/XXX.cpp, 在normal状态下输入"wm",