【Vim】Vim的常用命令

0 篇文章 0 订阅

0 前言

在Ubuntu18里安装vim

sudo apt-get upgrade
sudo apt-get install vim

查看版本信息

vim --version

1 设置

vim里编辑代码可能会因为缩进问题报错:IndentationError: unexpected indent,因为默认使用tab缩进不是对应的4个空格,所以可以手动缩进4个空格或者改掉tab默认的空格数。
还可以设置显示行号,代码折叠,设置语法高亮等等非常多。

cd ~ 进入home下的用户user目录
ls -a  查看隐藏的 .vimrc 文件
touch .vimrc 打开编辑

设置细节:参考博客

在vimrc里设置的特征适用于全局,另外也可以再在vim文件创建编辑时单独设置。

  • 注意在全局vimrc里设置autoindent "换行自动缩进'的时候复制进去代码段会破坏格式。需要单独在vim编辑的文件里:set paste暂时取消自动缩进,复制进来之后再 :set nopaste 关闭。

系统剪切板和 vim 剪切板

vim的剪切板只能在一个文件(当前窗口)内使用,vim分别打开a和b文件就不能实现两文件之间的复制粘贴。
这时候就需要借助系统剪切板(clipboard)作为中介,实现vim和外界交流。
确保当前系统支持clipboard:

vim --version | grep clipboard

clipboard 前面如果是+ 号表示支持,- 号表示不支持。
不支持先安装:ubuntu

sudo apt-get install vim vim-scripts vim-gtk vim-gnome

系统剪切板(寄存器): ''+

''+y		选中的文件复制到系统剪切板
''+p	    从系统剪切板粘贴
如果觉得使用 ‘’+ 麻烦就把默认的剪切板设置为系统剪切板
:set clipboard=unnamed
这样可以直接使用 p 进行粘贴

2 编辑

vim打开文件默认进入的是normal模式,使用 i 切换到insert模式。再按 Esc 进入normal模式。
vim在文件内和系统的剪切板是不通用的。在vim 内进行的复制剪切一般是放在默认的寄存器(register)里面,也可以指定哪些内容暂存在哪个寄存器内。

双引号+名称+操作
''ayiw				复制一个单词到寄存器 a
''bdd					剪切一行内容,暂存在寄存器b中
''bp					将寄存器b 里的内容粘贴出来

在normal模式输入 :reg name 可以查看指定寄存器里的内容。

2.1 noraml(浏览)模式

复制(y)粘贴(p)删除(d 剪切):

先用 v ,移动方向键选择内容
再用 y 复制选择的内容( d  是剪切) 
方向键选择位置 用 p 粘贴
命令说明
yiw复制一个单词
yy复制一行内容
yG复制到末尾
dw剪切一个单词
dd剪切一行内容
dG剪切到文档末尾
x删除当前字符
c和cc删除当前字符、行,并进入insert模式
u撤销还原

2.2 insert(编辑)模式

可以使用ctrl+c/v 或者ctrl+shift+c/v来复制粘贴文件进、出vim的编辑区。

3 插入

命令说明
i 和 I在当前位置前、行首插入
a和 A在当前位置后、行尾插入
o和O在当前行之后、之前插入一行

4 跳转

命令说明
gg和G跳转到文件头、文件尾)
Ctrl + d向下滚动半屏
Ctrl + u向上滚动半屏
Ctrl + f向下滚动一屏
Ctrl + b向上滚动一屏
冒号+行号跳转到指定行;比如:12,跳转到12行;
$跳转到行尾

跳转到行首

5 查找替换

命令说明
/text查找text,按n健查找下一个,按N健查找前一个
?text查找text,向上查找,按n健查找下一个,按N健查找前一个
: s/old/new/用new替换old,替换当前行的第一个匹配
: s/old/new/g用new替换old,替换当前行的所有匹配
:%s/old/new/用new替换old,替换所有行的第一个匹配
:%s/old/new/g用new替换old,替换整个文件的所有匹配

6 保存和退出

命令说明
:q强制退出vim
:wq保存更改退出
:q!不保存退出

如果文件无法编辑保存退出,打开文件的时候使用sudo vim 文件命名

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值