Linux vim程序编辑器

来源:互联网 发布:印度教 基督教 知乎 编辑:程序博客网 时间:2024/06/10 19:26

很多个别的软件都会主动的呼叫vi 编辑器的 例如 crontab visudo edquota

vi 的三种模式

一般模式,编辑模式,指令列命令模式

一般模式之中,按下i , o , a 等字符就可以进入编辑模式了

按下ESC后就会回到一般模式了

在编辑模式下的命令

X x 表示删除一个字符的意思

nx 删除n个字符的意思

dd 删除一整行

yy 复制游标所在的那行

pp 粘帖到游标所在的那行

:50,100s/man/MAN/gc 将 50行至100行中的全部man改成MAN ,还可以这样 :1,$s/word1/word2/g

:w man.test.config 将一个文件另存为man.test.config

u 复原前一个动作

【ctrl】+ r 重做上一个动作

i, a, o 进入插入模式 而 r 会进入取代模式

当一个文件在编辑的时候,因为某些原因中断编辑了,此时该目录下会多出一个. swp的文件

当你下次打开的时候,会显示一个提示框,因为该目录下保存了一个暂存档*.swp文件,这个文件记录了编辑中断前的编辑内容,这个*.swp就能够发挥救援的功能了

*.swp文件的操作命令说明:

[O]pen Read-Only 只是查看文件内容,没有进行编辑操作

(E)dit anyway 打开你要编辑的那个档案,并不会载入暂存盘的内容,不过很容易出现两个使用者互相改变对方的档案,不太好

(R)ecover 加载暂存盘的内容,用来救回之前未储存的工作,当保存后,还要手动的删除那个*.swp文件

(D)elete it 删除暂存档的内容,认定内容是不需要的

(Q)uit:按下 q 就离开 vim

(A)bort:忽略这个编辑行为,感觉上不 quit 非常类似

只有把这个*, swp的文件删除掉以后,才会进入正常的操作模式

区块选择(Visual Block)

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

V 行选择,会将光标经过癿行反白选择!

[Ctrl]+v 区块选择,可以用长方形癿方式选择资料!

y 将反白癿地方复制起来

d 将反白癿地方删除掉

多档案编辑

可以同时打开多个文件进行一起编辑 

vim hosts /etc/hosts

:n 编辑下一个文档 ;N 编辑上一个文档 :files 列出目前这个vim的开启的所有档案

多窗口功能:

:sp [filename] 开启一个窗口 ,有加filename 表示在新窗口开启一个新档案,否则表示两个窗口为同一个档案内容(同步显示)

[ctrl]+w  + 方向键 切换屏幕 +q 退出该屏幕

当我们上次编辑好一个文档,按下退出 ,此次为什么打开那个文件的时候,页面的光标还是停在我上次修改的地方

这是因为vim会主动的将你曾经做过的行为记录下来,那个记录动作的档案就是:~/.viminfo 这个文件在家目录下自动生成的

:set all 命令 查看 vim的环境设定参数 包括:set nu 等等

如果不想每次打开文件都设置一次的话,那就要透过配置文件来直接规定我们习惯的vim环境操作了,

整体 vim 的设定值一般是放置在 /etc/vimrc 这个档案,一般不建议修改他,你可以在家目录下新增~/.vimrc这个档案,将所希望的设定值写入

例如 vim ~/.vimrc 这个文件中的双引号是批注的含义,编辑好后,下次vim打开的格式就是现在设置的了

  1 "这个档案癿双引号 (") 是批注
  2 set hlsearch  "高亮度反白
  3 set backspace=2 "可随时用退格键删除
  4 set autoindent  "自劢缩排
  5 set ruler "可显示最后一行癿状态
  6 set showmode "左下角那一行癿状态
  7 set nu "可以在每一行癿最前面显示行号啦!
  8 set bg=dark "显示丌同癿底色色调
  9 syntax on "迚行语法检验,颜色显示.

档案文本的编码问题

当你查看的档案的编码是big5 ,那么在GNOME启动的终端接口为GNOME-terminal软件,需要修正语系编码为 LANG=zh_TW.big5

将window系统的文件在linux系统上面进行查看,因为断行符号等内容的差别,可能造成程序无法运行:此时就需要下面转换断行格式的命令

dos2unix [-kn] file [newfile]

unix2dos [-kn] file [newfile]

-k 保留该档案原本的mtime时间格式,不更新档案上次内容经过修订的时间

-n 保留原本的档案将转换后的内容输出到新档案

unix2dos -k man.config

千万记得要使用 unix2dos 戒 dos2unix 来转换一下断行格式啊

iconv  --iconv-list 列出iconv支持的语系数据

-f 表示也就是来源之意,后接原本的编码档案

-t : to 也就是后来的新编吗要得格式

-o file /etc/vitest/vibig

例如: iconv -f big5 -t utf8 vi.big5 -o vi.utf8

file vi.* 查看两个文件的类型

如果需要将正文中文的utf8转换成简体中文的utf8编码时,就需要下列操作了

iconv -f utf8 -t big5 vi.utf8 | iconv -f big5 -t gb2312 | iconv -f gb2312 -t utf8 -o vi.gb.utf8

原创粉丝点击