linux如何vi对齐,Linux下vi命令

VI命令

i 输入内容,插入

I 行首插入

a 光标下一个字符处插入

A 行尾插入

o 下一行插入

O 上一行插入

esc 返回标准模式

:set nu 显示行号

:set nonu 不显示行号

:set tabstop=2 改变制表为为2个字符

:set autoindent 设置自动缩进

当你在一个文件中set nu,set tabstop,set autoindent编辑完这个文件之后,再打开新的文件编辑的时候,你若要显示行号等还要重新设定。若不想这么麻烦,可以在家目录中添加.vimrc为vi设置全局配置。操作如下:

vim ~.vimrc #新建一个名为.vimrc的文件

set nu #设置显示行号

set tabstop=2 #设置tab键缩进为2个字符

set autoindent #设置自动换行

:x #保存当前文件,退出

:w 保存

:w! 强制保存

w [filename] 另存为(例如:w a.txt)

:q 退出

:q! 不保存,强制退出

:! Command 临时执行命令(例如: !pwd)

:wq 和:x命令一样,是保存之后退出

nG n为数字,移动到第n行,如2G移动到第2行

跳转到第n行还可以:0或者:1光标移动到开头,:3光标移动到第3行第一个字符,:5跳转到第5行第一个字符。要想跳转到最后一行第一个字符,可以在一般模式下按G,或者按:之后输入一个比较大(比当前文件的内容行数大)的数字回车就可以,比如:999(一般文件行数很少有超过999行的,如果超过就用更大的数 )。

G 移动到文件最后一行

:/word 向下搜索word的字符串

:?word 向上搜索word的字符串

n1,n2s/word1/word2/g 从第n1行到第n2行搜索word1替换为word2,g是全局的意思

n1,$s/word1/word2/gc 与上相同,只是在替换的时候询问,c是确认的意思

dd 剪切当前行

ndd 剪切向下n行

yy 复制当前行

nyy 复制向下n行

p 粘贴到下一行

P 粘贴到上一行

u 撤销前一次操作

ctrl+r 重复前一个操作

:sp 新开一个窗口

:sp index.php 在新窗口中打开index.php文件

在多个窗口中切换的方法是Ctrl+w+上下方向键。按着Ctrl不松,按一下w键松开,再按上下键。

vi的3种模式:

text mode 按i,I,a,A,o,O进入

normal mode 按esc切换

command mode normal mode下按:进入

normal mode :

h 光标左移

l 光标右移

j 下移

k 上移

delete 删除光标所在的字符 (删除相当于剪切)

i 进入编辑模式,在当前光标所在位置插入

a 进入编辑模式,在当前光标所在位置的下一个字符位置插入

A 【append】 进入编辑模式,在当前光标所在行的行尾插入

r 【replace】 替换,按下r之后再按一个字符,将光标所在位置的下一个字符替换为按下r之后按的字符,比如

在a的位置按下r再按b,就把a替换为b

u 【undo】撤销刚才的操作.类似windows中的ctrl+z

ctrl + r 【redo】与u相反,重做。类似于windows中的 ctrl+y

dd 删除当前1行

2dd 删除2行

5dd 删除5行

ggdG 把光标置于文件开头,再删除至文件末尾。相当于清空文档

v 【mark】标记选中,按下v,再按hjkl或者方向键,会选中文字,并以高亮显示。便于复制【y】,剪切【d or x】,替换【r,】等操作

yy 【复制1行】

5yy 【复制5行】

ctrl + v 垂直标记,垂直方向上标记多行

/ 向下查找

? 向上查找

/abc 搜索abc字符串,按n向下查找,按N向上查找

Shift+* 查找一个单词,按n光标直接跳到下一个相同的单词的位置

G 光标移动到文件末尾

gg 光标移动到文件开头

:1 光标到第1行

:5 光标到第5行行首

Shift+%,光标从当前{处跳到对应的}处

== 对齐

选中之后按1下=可以一次对齐多行

<< 将当前行向左移动一个 tab

>> 将当前行向右移动一个 tab

ctrl + w + v 水平方向上分为2屏,按ctrl + w 切换光标所在的窗口

ctrl + w + s 垂直方向上分为2屏

cmmand模式:

在normal模式下,输入:命令,即进入command模式

:q 退出

:q! 强制退出,不作任何改变

:wq 保存并退出

:wq! 强制保存并退出

:x 相当于 :wq 保存并退出

另外保存并退出还可以在normal模式下按 ZZ

:1 光标置于第1行

:10 光标置于第10行

:%s/aaa/bbb 把aaa字符全部替换为bbb

:%s/aaa/bbb/g 递归替换,

:set nu 显示当前文件的行号

:set nonu 不显示当前文件的行号

:nu 显示当前行的行号

:vsp 水平方向上分屏 相当于ctrl + w + v ,按ctrl + w 切换光标所在的窗口

vi编辑器的配置文件

修改之前先备份

sudo /etc/vim/vimrc /etc/vim/vimrc.original

sudo vi /etc/vim/vimrc

"设置tab为4个空格 "表示当前行被注释

set tabstop=4

如果这篇文章对你有帮助,不妨点个赞哦 (˙˘˙)ᓂ--♡

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值