首页 > 技术文章 > 【vim】vim-set命令

wsx2019 2021-11-17 10:02 原文

一、vi set用法

1、常用收集如下:(vi set)

set autoindent
在插入模式下,对每行按与上行同样的标准进行缩进,与shiftwidth选项结合使用
set list
把制表符显示为^I ,用$标示行尾(使用list分辨尾部的字符是tab还是空格)
set number
显示行号
set readonly
文件只读,除非使用!可写
set shiftwidth
反向制表符中的空格数目
set showmatch
在vi中输入),}时,光标会暂时的回到相匹配的(,{ (如果没有相匹配的就发出错误信息的铃声),编程时很有用
set tabstop
指定tab缩进的字符数目
set wrapscan
授索在文件的两端绕回
:set ai :让vi自动对齐.
:set noai 取消自动对齐。
:set showmatch
:set noshowmatch 高亮显示(set noshowmatch不显示){, }, (, ), [, 或者 ] 的匹配情况
:set tabstop=4 shiftwidth=4 :设置制表停止位(tabstop)的长度:当使用移动(shift)命令时移动的字符数
:syntax on :开启语法高亮显示
:set cindent :在C编码时,用户常常想要indent缩进内嵌代码块。若要在编码时自动完成它在C编码时,如果想要indent缩进内嵌代码块。设置该命令则自动完成。
:set smartindent :为C程序提供自动缩进
:set encoding=utf-8 #设置编码格式
:set ff=unix #将文件格式转为unix格式
:set noci#复制缩进
:set paste
:set num/nonum
:set ci! #复制缩排
:set si #智能缩排indent
:help option-list

二、Vim快速移动

1、 需要按行快速移动光标时,可以使用键盘上的编辑键Home,快速将光标移动至当前行的行首。除此之外,也可以在命令模式中使用快捷键"^"(即Shift+6)或0(数字0)。

2、 如果要快速移动光标至当前行的行尾,可以使用编辑键End。也可以在命令模式中使用快捷键"\("(Shift+4)。与快捷键"^"和0不同,快捷键"\)"前可以加上数字表示移动的行数。例如使用"1\("表示当前行的行尾,"2\)"表示当前行的下一行的行尾。

3、h, j, k, l分别代表向左、下、上、右移动。如同许多vim命令一样,可以在这些键前加一个数字,表示移动的倍数。例如,"10j"表示向下移动10行;"10l"表示向右移动10列。

4、在vim中翻页,同样可以使用PageUp和PageDown,不过,像使用上下左右光标一样,你的手指会移出主键盘区。因此,我们通常使用CTRL-B和CTRL-F来进行翻页,它们的功能等同于PageUp和PageDown。CTRL-B和CTRL-F前也可以加上数字,来表示向上或向下翻多少页。

5、命令"gg"移动到文件的第一行,而命令"G"则移动到文件的最后一行。命令"G"前可以加上数字,在这里,数字的含义并不是倍数,而是你打算跳转的行号。例如,你想跳转到文件的第1234行,只需输入"1234G"。

你还可以按百分比来跳转,例如,你想跳到文件的正中间,输入"50%";如果想跳到75%处,输入"75%"。注意,你必须先输入一个数字,然后输入"%"。如果直接输入"%",那含义就完全不同了。":help N%"阅读更多细节。在文件中移动,你可能会迷失自己的位置,这时使用"CTRL-G"命令,查看一下自己位置。

6、"f"命令移动到光标右边的指定字符上,例如,"fx",会把移动到光标右边的第一个'x'字符上。"F"命令则反方向查找,也就是移动到光标左边的指定字符上。

"t"命令和"f"命令的区别在于,它移动到光标右边的指定字符之前。例如,"tx"会移动到光标右边第一个'x'字符的前面。"T"命令是"t"命令的反向版本,它移动到光标左边的指定字符之后。

推荐阅读