Linux学习笔记(四)

 vi

在一般模式下的功能按键

移动光标

0(数字)或Home:移动到这一行的开头

$或End:移动到这一行结尾

G:移动到这个文件最后一行

gg:移动到这个文件的第一行

n+回车:向下移动n行

查找

/word:从光标开始后面的字符串查找一个word字符串

:n1,n2s/word1/word2/g:从n1行到n2行中找到word1这个字符串并且替换为word2

:1,$/word1/word2/g:第一行到最后一行找单词并替换(若在g后面添加c,则还需要确认是否更改)

删除、复制与粘贴

x与X:x代表删除光标后面一个字符,X代表删除光标前面一个字符

dd:删除(剪贴)光标在的那一整行

ndd:删除(剪贴)删除光标所在的向下n行(包括光标的一行)

yy:复制光标所在的一行

nyy:复制光标(包括光标的一行)向下复制n行

p与P:将已复制的内容粘贴在光标的下一行,P反之

u:恢复前一个操作

Ctrl+r:重做上一个操作

.重复前一个操作的意思

一般命令模式切换到编辑模式的可用的按键说明

i与I:i为目前光标坐在处插入,I目前所在行的第一个非空格符处开始插入

a与A:a为目前光标所在的下一个字符处开始插入,A为从光标所在行的最后一个字符处开始插入

o与O:o为在目前光标所在的下一行处插入新的一行,O为目前光标坐在处的上一行插入新的一行

r与R:进入替换模式,r只会替换光标所在的那一个字符一次,R会一直替换光标所在的文字,知道按下Esc为止。

一般命令模式切换到命令模式的可用按键说明

命令模式的保存、退出等命令

:w!:若文件属性为只读时,强制写入该文件。

:q:退出vi

:q!:不保存退出

:wq:保存后退出,若为:wq!则为强制保存后退出

:set nu:设置行号

:set nonu:取消行号

:set autoindent:自动缩进

:set noautoindent:取消自动缩进

:set backup:自动保存备份文件

:syntax on:根据程序相关语法显示不同颜色

:syntax off:取消~

:set bg=dark:可用显示不同的颜色色调,默认是light(感觉dark看的清楚些)

:set hlsearch或:set nohlsearch:hlsearch就是high light search,这个就是设置是否查找的字符串反白的设置,默认值是hlsearch

:w filename:将文件保存为另一个文件

———————————————————————————————————————————————————————

vim在执行时,会生成一个.swp文件,也就是缓存

vim的一般命令模式下按下Ctrl+z的组合键时,vim会被丢到后台去执行

可视区块

v:字符选择,会将光标经过的地方反白选择

V:行选择,会将光标经过的行反白选择

Ctrl+v:可视区块,可以用矩形的方式选择数据

y:将反白的地方复制起来

d:将反白的地方删除

p:将刚刚复制的区块,在光标所在处粘贴

———————————————————————————————————————————————————————

 vim窗口是相互独立的,所以无法用vim里面自带的指令进行复制,但是可以用vim同时来开启两个文件,在用里面的指令进行复制和粘贴。

vim中的关键词补全功能

Ctrl+x->Ctrl+n 通过目前正在编辑的这个  文件的内容文字  作为关键词,予以补齐

Ctrl+x->Ctrl+o 以扩展名作为语法补充,以vim内置的关键词,予以补齐

vim环境设置与记录:~/.vimrc  和  ~/.viminfo

第一个文件是vim的环境设置,可以调字体、亮度等...

第二个文件是记录你曾经在此文件上的操作。

———————————————————————————————————————————————————————

其他vim使用注意事项

如果文件使用的是GBK编码,但在vim终端界面中使用的是UTF-8编码,由于编码不同,则会出现中文乱码。

这时你需要考虑的有这些:

1.你的Linux系统默认支持的语系数据:这与/etc/locale.conf有关

2.你的终端(bash)的语系:这与LANG、LC_ALL这几个变量有关

3.你的文件原本的编码

4.打开终端的软件,例如 在GNOME下面的窗口界面

最重要的是上面的三、四点,只要这两个编码一致,你就能够正确的看到与编辑你的中文文件,否则就会看到一堆乱码

DOS的换行符:^M$(CR与LF)

Linux的换行符:$(LF)

Linux下面的命令开始执行时,它的判断依据是回车,而Linux的回车为LF,DOS是CRLF,在这样的情况下,如果是一个shell脚本的程序文件,可能会造成程序无法进行的状态,因为它会误判程序所执行的命令内容。

但是可以把Windows里的文件进行格式转换成为Linux就行,可以用Unix2dos或dos2unix来转换换行格式

语系编码转换

iconv -f 原本编码 -t 新编码 filename [-o newfile]

--list:列出iconv支持的语系

-f:from,亦即来源之意,后接原本的编码格式

-t:to,亦即后来的新编码是什么格式

-o file:如果要保留原本的文件,name就使用-o 新的文件名,可以建立新编码文件

将繁体中文的UTF-8转简体的UTF-8:iconv -f utf8 -t big5 file.utf8 | iconv -f big5 -t gb2312 | iconv -f gb2312 -t utf8 -o file.gb.utf8(好麻烦,ε(┬┬﹏┬┬)3)

原文地址:https://www.cnblogs.com/pppyyyzzz/p/11989445.html