vim 基本够用的操作命令

命令模式

  • 保存退出:ZZ 若果文件不存在,退出时不会创建新的文件
  • 代码格式化:gg=G
  • 光标移动
    • 上下左右:hjkl
    • 光标移动到行首:0
    • 光标移动到行尾:$
    • 光标移动到文件开头:gg
    • 光标移动到文件末尾:G
    • 光标跳转到某行:行号+G
    • 行号回车:当前行向下跳转行号数行
  • 删除命令
    • 删除字符:x:删除光标后面的字符;X:删除光标前面的字符
    • 删除单词(删除光标后面到单词尾):dw
    • 删除某行光标前字符串:d0
    • 删除某行光标后字符串:d$
    • 删除/剪切行:dd
    • 删除/剪切多行:数字+dd
  • 撤销反撤销
    • 撤销:u
    • 反撤销:ctrl+r
  • 复制粘贴
    • 复制:yy
    • 多行复制:数字+yy
    • 粘贴(光标下一行):p
  • 查找
    • /+查找内容 :当前行向下查找:n向下跳转,N向上跳转
    • ?+查找内容 :全局查找:n向下跳转,N向上跳转
    • 光标放到指定字符串+#:指定字符串查找,不需要输入
  • 替换
    • 光标盖住的字符+r:输入想要改写的字符
  • 查看man内容
    • 光标放到指定字符串:章节号+K

可视模式:命令模式+v

命令模式复制粘贴剪切等,只能行处理。进入可视模式,可进行任意范围内内容的复制粘贴,命令模式按v进入可视模式,移动光标,可选择文本操作范围,也就是可操作范围

  • 复制:y
  • 删除/剪切:d
  • 粘贴:p光标后、P光标前

命令模式进入编辑模式:

a:在光标后插入
A:在行末添加文本
i:当前字符之前的插入
I:行首插入
o:实现在光标所在行的上方插入新行
O:是现在光标坐在行的下方插入新行


末行模式:

  • 保存退出
    • 保存退出:wq/x
    • 退出不保存:q!
    • 保存不退出:w
    • 退出:q
  • 替换
    • 替换光标所在字符串:s/旧的字符串/新的字符串
    • 替换光标所在字符串所在行所有字符串:s/旧的字符串/新的字符串/g
    • 替换一个范围:起始行号,结尾行号s/旧的字符串/新的字符串/g行数范围内所有的旧字符替换为新的字符
    • 全局替换:%s/旧的字符串/新的/g
    • 所有替换命令后加c,添加提示
  • 分屏
    • 水平分屏:sp
    • 垂直分屏:vsp
    • 屏幕切换:ctrl+ww
    • 退出光标所在屏:q
    • 退出所有屏:qall
    • 保存所有屏:wall
    • 保存退出所有屏:wqall
    • 垂直分屏打开不同的文件:vsp+文件名
    • 打开多个文件并水平分屏显示:vim -o +文件集合
    • 打开多个文件并垂直分屏显示:vim -O +文件集合
    • 分屏显示打开其它文件但并不确定是否有没有:!ls
    • 查看当前路径:!pwd
    • 查看文件详尽信息:!ls -l

vim 配置文件

  • 用户级别:当前用户可用
    • ~/.vimrc
  • 系统级别:所用用户打开都可用
    • etc/vim/vimrc

基本配置

"显示行号
set nu

"启动时隐去援助提示
set shortmess=atI

"语法高亮
syntax on

"使用vim的键盘模式
"set nocompatible

"不需要备份
set nobackup

"没有保存或文件只读时弹出确认
set confirm

"鼠标可用
set mouse=a

"tab缩进
set tabstop=4
set shiftwidth=4
set expandtab
set smarttab

"文件自动检测外部更改
set autoread

"c文件自动缩进
set cindent

"自动对齐
set autoindent

"智能缩进
set smartindent

"高亮查找匹配
set hlsearch

"背景色
set background=dark

"显示匹配
set showmatch

"显示标尺,就是在右下角显示光标位置
set ruler

"去除vi的一致性
set nocompatible

"允许折叠
set foldenable
"""""""""""""""""设置折叠"""""""""""""""""""""
"
"根据语法折叠
set fdm=syntax

"手动折叠
"set fdm=manual

"设置键盘映射,通过空格设置折叠
nnoremap <space> @=((foldclosed(line('.')<0)?'zc':'zo'))<CR>
""""""""""""""""""""""""""""""""""""""""""""""
"不要闪烁
set novisualbell

"启动显示状态行
set laststatus=2

"浅色显示当前行
autocmd InsertLeave * se nocul

"用浅色高亮当前行
autocmd InsertEnter * se cul

"显示输入的命令
set showcmd

"被分割窗口之间显示空白
set fillchars=vert:/

set fillchars=stl:/

set fillchars=stlnc:/

autocmd FileType make set noexpandtab

vim关键配置

vim中配置常常把tab键为四个空格,对于我们编写程序方便很多,但是在编写makefile时,就会出现问题,tab键会被空格替换掉,导致我们执行make时,识别不到tab,系统会报错,怎样避免这个问题呢?需要在vim配置文件中添加下面这条命令即可

 autocmd FileType make set noexpandtab
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值