vim的使用

1. 配置vim

修改配置文件:vim ~/.vimrc

1.1 永久显示行号

set number

1.2 配置vim单词高亮

set hls

1.3 配置tab和空格

1.3.1 tab缩进用空格表示

set expandtab

当然set noexpandtab 则是用制表符表示一个缩进

1.3.2 设置缩进/回退分别为4个空格

set tabstop=4 softtabstop=4 shiftwidth=4

tabstop

表示按一个tab之后,显示出来的相当于几个空格,默认的是8个。

softtabstop

表示在编辑模式的时候按退格键的时候退回缩进的长度。

shiftwidth

表示每一级缩进的长度,一般设置成跟 softtabstop 一样

1.3.3 可视化tab和空格

set list
set listchars=tab:>~,space:.

如果想要在打开代码文件时,才显示空格或 tab 字符,打开其他类型文件,例如 txt 文件、markdown 文件、makefile 文件等,不显示空格或 tab 字符,就可以使用 :setlocal list 命令。如果需要设置成全局状态,所有窗口都开启这个设置,可以使用 :set list 命令。

由于把 tab 字符显示为 ^I 不够直观,不想在行末显示 $ 字符,且需要显示空格,所以再执行 set listchars=tab:>~,trail:. 命令来设置 tab 字符和空格的显示样式,且行末不显示字符。

如果想要所有空格都显示“.”,则需要将trail 改为space即可。

同时,为了方便区分于代码文件自身的颜色高亮,可以使用下面命令来设置可见的空格和 tab 字符显示为灰色,不那么显眼,方便区分于代码文件自身的颜色高亮:

highlight.MyTabSpace.guifg=darkgrey.ctermfg=darkgrey
match.MyTabSpace./\t\|./

1.4 更多的配置,可以使用help命令来查看哦

可以使用 :help 'list' 命令查看 list 选项的说明。
可以使用 :help 'listchars' 命令查看 listchars 选项的说明。
可以使用 :help :highlight 命令查看设置颜色高亮的更多说明。
可以使用 :help :match 命令查看如何设置指定字符串的显示颜色组。
可以使用 :help :autocmd 命令查看如何针对特定类型文件自动执行指定命令。

最后,把最终的配置粘出来供大家参考啦

set number
set.hls
set.expandtab
set.tabstop=4.softtabstop=4.shiftwidth=4
set.list
set.listchars=tab:>~,space:.
highlight.MyTabSpace.guifg=darkgrey.ctermfg=darkgrey
match.MyTabSpace./\t\|./

参考:

vim技巧:设置空格和Tab字符可见,并自定义显示的字符颜色 - SegmentFault 思否使用 Windows 下的一些 IDE(例如 Source Insight)查看代码时,可以设置空格和Tab字符可见。本篇文章介绍在 vim 中如何进行这个设置,并自定义显示的字符颜色。具体包括下面的内容:https://segmentfault.com/a/1190000021101602vim 怎么显示空格_浅谈Vim中的Tab与空格缩进 - CodeAntennahttps://codeantenna.com/a/0sTUwZN7Ow

2. Vim 删除/替换(字符)

2.1 删除^M字符

Unix系统使用0xA作为换行符,Windows使用0xD 0xA作为换行符,^M0xD在Vim中的显示。0x0D = 13,M是英语中的第13个字符。

使用命令

:%s/^M//g

但要注意,Vim中^M字符的输入方式是按住Ctrl键,然后依次按下vm键,松开Ctrl键即可。

2.2 vim多行删除

方法一:

单行删除,:1(待删除行)d
多行删除 ,:1,10d 
注:d或者de 都可以

方法二:

光标所在行,dd
光标所在行以下的N行,Ndd

3. 复制粘贴

3.1 选中某几行复制粘贴

​​​​​​​方法1:
光标放到第6行,
输入:2yy
光标放到第9行,
输入:p
此方法适合复制少量行文本的情况,复制第6行(包括)下面的2行数据,放到第9行下面。
方法2:
命令行模式下输入
6,9 co 12
复制第6行到第9行之间的内容到第12行后面。
方法3:
有时候不想费劲看多少行或复制大量行时,可以使用标签来替代
光标移到起始行,输入ma
光标移到结束行,输入mb
光标移到粘贴行,输入mc
然后 :'a,'b co 'c 把 co 改成 m 就成剪切了

3.2 选中某一行的一些单词复制粘贴

快速选中一个词(首先将光标移动到单词开头):v+e

复制:y

粘贴:p

4. Vim 匹配

(1)匹配sum

/sum 

你会发现,怎么把newsum中的sum也匹配出来了,即其不是精确匹配

/\<sum\> 

就是精确匹配了。

5. VIM 批量缩进

比如第3——231行缩进:

:3,231>

6. VIM光标移动

6.1 vim光标以单词为单位移动

快捷键功能描述
w 或 W光标移动至下一个单词的单词首
b 或 B光标移动至上一个单词的单词首
e 或 E光标移动至下一个单词的单词尾
nw 或 nWn 为数字,表示光标向右移动 n 个单词
nb 或 nBn 为数字,表示光标向左移动 n 个单词

 6.2 vim光标移动至行首或行尾

快捷键功能描述
0 或 ^光标移动至当前行的行首
$光标移动至当前行的行尾
n$光标移动至当前行只有 n 行的行尾,n为数字

 6.3 vim 光标移动至指定字符

快捷键功能描述
fx光标移动至当前行中下一个 x 字符处
Fx 光标移动至当前行中下一个 x 字符处

 6.4 vim光标移动到指定行

快捷键功能描述
gg光标移动到文件开头
G光标移动至文件末尾
nG光标移动到第 n 行,n 为数字
:n编辑模式下使用的快捷键,可以将光标快速定义到指定行的行首

6.5 vim光标移动到匹配括号处

程序员在编辑程序时,经常会为将光标移动到与一个 "(" 匹配的 ")" (对于 [] 和 {} 也是一样的)处而感到头疼。Vim 里面提供了一个非常方便地査找匹配括号的命令,这就是 "%"。

比如,在 /etc/init.d/sshd 脚本文件中(最好还是复制后练习,小心驶得万年船),想迅速地将光标定位到与第 49 行的 "{" 相对应的 "}" 处,则可以将光标先定位在 "{" 处,然后再使用 "%" 命令,使之定位在 "}" 处,如图 6 所示。

                                                   使用"%"命令定位括号 

7. vim打开文件时乱码

1、用vim打开.vimrc配置文件 

vim ~/.vimrc

2、在.vimrc中加入如下内容

set termencoding=utf-8
set encoding=utf8
set fileencodings=utf8,ucs-bom,gbk,cp936,gb2312,gb18030

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值