vim程序编辑器知识要点

1、vi共分为3种模式,分别为一般命令模式、编辑模式与命令行模式

2、常用移动光标的方法:
①可以使用hjkl按键。h(←)、j(↓)、k(↑)、l(→),如果想要移动多行,比如30行,可以使用30j或30↓组合按键。
②ctrl+f ——屏幕向下移动一页
③ctrl+b ——屏幕向上移动一页
④0或[Home] ——移动到光标所在行最前面字符
⑤$或[End] ——移动到光标所在行最后面字符
⑥G ——移动到文件最后一行(nG ——移动到这个文件的第n行)
⑦gg ——移动到文件第一行
⑧n ——n为数字,光标向下移动n行(如果按空格,是向右移动n个字符)

3、常用的查找与替换方法:
①/word ——光标之下寻找字符串word
②?word ——光标之上寻找字符串word
③n ——向下查找
④N ——向上查找
⑤:n1,n2s/word1/word2/g ——在n1行到n2行之间寻找word1这个字符串,并将其替换为word2

4、删除、复制与粘贴基本方法:
①d $ ——删除光标所在处到该行最后一个字符的内容
②d 0 ——删除光标所在处到该行最前面一个字符的内容
③p ——为将已复制的数据在光标下一行粘贴
④P ——为将已复制的数据在光标上一行粘贴
⑤u ——恢复前一个操作
⑥ctrl+r 重做上一个操作
⑦ . ——重复上一个工作

5、vim多文件编辑
①:n ——编辑下一个文件
②:N ——编辑上一个文件
③:files ——列出目前这个vim开启的所有文件

6、vim多窗口功能
①:sp [filename] ——打开一个新窗口
②ctrl+w+j 或ctrl+w+↓ ——光标移动到下方窗口
③ctrl+w+k或ctrl+w+↑ ——光标移动到上方窗口
④ctrl+w+q或:q ——关闭当前窗口

7、不建议在windows编辑好的文件直接复制到linux中,因为可能换行出问题
换行字符转换:

dos2unix [-kn] file [newfile]
unix2dos [-kn] file [newfile]

选项与参数:
-k:保留该文件原本的mtime时间格式
-n:保留原本的旧文件,将转换后的内容输出到新文件

   #将linux换行符转换为dos换行符
    [root@vidar-ali ~]# unix2dos -k t.txt 
    unix2dos: converting file t.txt to DOS format ...
    [root@vidar-ali ~]# ll t.txt 
    -rw-r--r-- 1 root root 2826 Jul  3 14:04 t.txt
    #将dos换行符转换为linux换行符
    [root@vidar-ali ~]# dos2unix -k -n t.txt a.txt
    dos2unix: converting file t.txt to file a.txt in Unix format ...
    #因为换行符少了^M,所以容量减少
    [root@vidar-ali ~]# ll t.txt a.txt 
    -rw-r--r-- 1 root root 2805 Jul  3 14:04 a.txt
    -rw-r--r-- 1 root root 2826 Jul  3 14:04 t.txt
    #查询文件格式
    [root@vidar-ali ~]# file a.txt 
    a.txt: UTF-8 Unicode text
    [root@vidar-ali ~]# file t.txt 
    t.txt: UTF-8 Unicode text, with CRLF line terminators

8、语系编码转换

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

-o file:如果要保留原文件,-o生成新文件
-c 忽视无效字符(慎用)

例如:

[root@vidar-ali ~]# iconv -f utf-8 -t gb2312 a.txt -o b.txt
iconv: illegal input sequence at position 288
//提示需要转换的字符编码没有涵盖文件中的字符,可以用-c 忽略无效字符
[root@vidar-ali ~]# iconv -f utf-8 -t gb2312 -c a.txt -o b.txt
[root@vidar-ali ~]# file a.txt b.txt
a.txt: UTF-8 Unicode text
b.txt: ISO-8859 text, with very long lines
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值