vim内部配置
首先在根目录下新建一个.vimrc的文件。
然后在其中添加一下代码
"使按下jj等效与ESC 要想输入jj这两个字母的时候需要将速度放慢
inoremap jj <ESC>
显示行号
set number
"总是显示状态行
set laststatus=2
"总是将命令行的高度设置为2,默认为1
set cmdheight=2
"突出当前行,在当前行显示下划线
set cursorline
"设置自动缩进,即每行的缩进同上一节相同
set autoindent
"Tab键的宽度为4
set tabstop=4
"语法高亮
set syntax=on
"定义括号以及引号的自动补全
:inoremap ( ()<ESC>i
:inoremap " ""<ESC>i
:inoremap ' ''<ESC>i
:inoremap [ []<ESC>i
:inoremap { {}<ESC>i
" 定义跳出括号函数,用于跳出括号
func SkipPair()
if getline('.')[col('.') - 1] == ')' || getline('.')[col('.') - 1] == ']' || getline('.')[col('.') - 1] == '"' || getline('.')[col('.') - 1] == "'" || getline('.')[col('.') - 1] == '}' || getline('.')[col('.') - 1]== ">"
return "\<ESC>la"
else
return "\t"
endif
endfunc
" 将tab键绑定为跳出括号
inoremap <TAB> <c-r>=SkipPair()<CR>
" 使vim支持C++11
let g:syntastic_cpp_compiler_options = ' -std=c++11 -stdlib=libc++'
如何将终端命令行设置为半透明
1.打开终端
2.将鼠标移动到屏幕的左上角,有一个终端的编辑,选择配置文件首选项
3.选择颜色栏,然后开启透明背景,就可以自己拖动调节终端的透明度了。
vim中分为三种模式
command mode、insert mode和command-line mode
一般命令模式:用来进行上下移动光标,复制粘贴,删除字符等
编辑模式:用来对内容进行编辑
命令行模式:输入/ : ? 这三个符号的任意一个就可以进入该模式。
命令模式
dd:删除光标所在行
ndd:删除光标所在行在内及其下的n-1行,共n行内容。如5dd,删除光标所在行其下面的4行内容。(ubuntu中的dd实际上>就是windows中的剪切,删除之后按p键可以粘贴刚才剪切的内容。)
d0:(0是数字),从光标处前一个字符删到当前行首。
D:删除光标位置到行尾的全部内容。实际上也是剪切。
x:删除光标所在位置的单个字符。
X:删除光标所在位置的单个字符,向前行首删除,光标后面字符不变。
yy:复制当前行
p:粘贴 复制或剪切的内容到当前光标所在行的下一行
P:粘贴 复制或剪切的内容到当前光标所在行的上一行
h、j、k、l分别是左,下,上,右
v:可视化选取,单个选中,按照字符来选中(左右键),也可以选中行(上下键),选中之后如果右移选中部分:shift+> 如果左移选中部分:shift+
G:跳到当前文件的末行
$:跳到当前行的末尾
0:跳到当前行的开头
编辑模式
只能由命令模式切入编辑模式
i:从光标之前插入
I:调到光标所在行插入
a:从光标之后插入
A:调到光标所在行末进行插入
o:(字母o)在光标所在行,及其下一行之间新增一空白行,光标跳到空白行行首
O:(字母O)在光标所在行,及其上一行之间新增一空白行,光标跳到空白行行首
末行模式
在命令行模式
只有命令行模式可以进入末行模式
:w :保存当前文档,不退出vi编辑器(这个命令是实际开发中用的多,比如同时开三个终端,一个编辑代码,一个运行代
码,一个用python的交互模式,三个终端生成快捷键Ctrl + Shift + T,终端之间切换用Alt + 1、Alt + 2、Alt + 3)
:q :不保存已有的编辑,退出vi编辑器
:/hello :搜索hello,hello可以换成其他字符 在搜索字符时输入命令后,可以向上搜索(N 键),也可以向下搜索(n键)
:set nu:设置显示左侧行号(永久显示行号一般都在系统中改变配置文件/etc/vimrc,添加:set nu即可,如果修改必>须获取文件权限,多以root权限去修改)
在命令模式下输入数字可以直接到达指定行。
:80 :直接到达80行
:%s/hello/vi/g : 将文件中的所有hello替换为vi
:10,13s/hellovi/g :将文件中10到13行的hello替换为vi