linux学习笔记--vim程序编辑器

1,在linux系统中使用文本编辑器来编辑自己的linux参数配置文件是一件很重要的事情,因此系统管理员至少应该要熟悉一种文本编辑器。

2,不同的linux distribution各有不同的附加软件,linux命令行界面下的文本编辑器有Emacs,pico,nano,joe与vim

3,学习vim的重要性

(1)所有的UNIX Like系统都内置vi文本编辑器,其他的文本编辑器不一定存在

(2)很多软件的编辑接口都会主动调用vi

(3)vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性,方便程序设计

(4)程序简单,编辑速度相当快速

4,vi与vim区别

它们都是多行模式编辑器

vim是vi的高级版本,vim完全兼容vi的敏玲。还加入很多额外的功能。具体没使用过。

5,vi的基本使用

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

(1)一般模式

以vi打开一个文件就直接进入了一般模式(默认模式),在这个模式中,你可以使用上下左右按键来移动光标,可以删除字符合删除正行,也可以复制、黏贴

(2)编辑模式

在一般模式中按下“i,l,o,O,a,A,r,R”任何一个字母后会进入编辑模式,

在这个模式下,按下这些按键时,界面左下方会出现INSERT或REPLACE的字样,此时可以编辑,

退出按【Esc】键,退回一般模式

(3)命令行模式

在一般模式下,输入“:、/、?”任何一个字符,就可以将光标移动到最下面的那一行。

在这个模式下,可以提供查找、读取、保存、大量替换字符、离开vi、显示行号等操作。

退出按【Esc】键,退回一般模式

注意:编辑模式和命令行模式之间不可互相切换,tab键所得到的结果与空格符所得到的结果是不一样的。

6,按键说明

第一部分:一般模式可用的按钮说明,光标移动、复制黏贴、查找替换

(1)移动光标的方法

h或向左箭头键         光标向左移动一个字符

j或向下箭头键          光标向下移动一个字符

k或向上箭头键         光标向上移动一个字符

l或向右箭头键          光标向右移动一个字符

注:也可以3j向下移动3次。组合键

【Ctrl】+【f】           屏幕向下移动一页,相当于【Page Down】

【Ctrl】+【b】          屏幕向上移动一页,相当于【Page Up】

【Ctrl】+【d】          屏幕向下移动半页

【Ctrl】+【u】          屏幕向上移动半页

+                             光标移动到非空格的下一行

-                          光标移动到非空格的上一行

n<space>               20空格,向后移动20个字符距离

0或者【Home】      移动这一行的最前面字符处

$或者【End】          移动到这一行的最后面的字符处

H                             光标移动到当前屏幕的第一行的第一个字符

M                            光标移动到当前屏幕的中间那一行的第一个字符

L                              光标移动到当前屏幕的最下方那一行的第一个字符

G                              光标移动到这个文件的最后一行

nG                            光标移动到第n行

gg                            光标移动到首行,相当于1G

N【Enter】              光标向下移动n行

/word                      向下寻找一个名为word的字符串

?word                     向上寻找一个名为word的字符串

n                              代表重复前一个查找的操作

N                              与n相反,为反向进行前一个查找操作

注:/word配合n及N非常有帮助

:n,ms/word1/word2/g    在第n与m行之间寻找word1字符串,并将word1替换为word2

:1,$s/word1/word2/g     从第一行到最后一行查找word1字符串,并将该字符串替换为word2

:1,$s/word1/word2/gc    从第一行到最后一行查找word1字符串,并将该字符串替换为word2,且替换前让用户确认是否需要替换

(2)删除、复制、黏贴

x,X                      在一行字中,x为向后删除一个字符,X为向前删除一个字符

nx                          连续向后删除n个字符

dd                         删除光标所在的那一行

ndd                       删除光标所在的向下n行

d1G                       删除光标所在到第一行的所有数据

dG                         删除光标所在到最后一行的所有数据

d$                          删除光标所在到该行的最后一个字符

d0                          删除光标所在在该行的第一个字符

yy                          复制光标所在的那一行

nyy                        复制光标所在的向下n行

y1G                        复制光标所在行到第一行的所有数据

yG                          复制光标所在行行到最后一行的所有数据

y0                           复制光标所在的那个字符到该行行首的所有数据

y$                           复制光标所在的那个字符到该行行尾的所有数据

p,P                        p为将已复制的数据在光标的下一行黏贴,P为将已复制的数据在光标的上一行黏贴

(3)移动光标的方法

J                             将光标所在行与下一行的数据结合成同一行

c                             重复删除多个数据,例如向下删除10行,10cj

u                             复原前一个操作

【Ctrl】+r                 重做上一个操作

注:u和【Ctrl】+r组合常用

第二部分:一般模式切换到编辑模式的可用的按钮说明

i,I                             i从光标所在处插入,I为光标所在行的第一个非空格处插入

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

o,O                          o为光标所在下一行插入一行,O为光标所在行的上一行插入一行

r,R                           r只会替换光标坐在的哪一个字符一次,R会一直替换光标所在的文字,知道按下【Esc】

【Esc】                     退出编辑模式,回到一般模式

第三部分:一般模式切换到命令行模式的可用的按钮说明

(1)命令行的保存、离开

:w                        保存数据

:w!                        强制写入文件,保存

:q                          离开vi

:q!                         曾修改过,又不想保存,使用。强制退出vi

:wq                        保存且退出vi

ZZ                         若文件没有更改,则不保存离开,若文件已经被更改,则保存后离开

:w[filename]          将编辑的数据保存为另一个文件

:r[filename]            在编辑的数据中,读入另一个文件的数据

:n,m w[filename]    将n到m的内容保存成filename文件

:!command             暂时离开vi到命令模式下执行command的显示结果

:set nu                  显示行号

:set nonu               取消显示行号

7,vim的保存文件,恢复与打开的警告信息

(1 使用vim编辑时候,vim会在编辑的文件的目录下再新建一个名为.filename.swp的文件。

例如:

[[email protected] test]# vim vimtest.txt

按下【Ctrl】+z,vim被丢到后台去执行。

[1]+  Stopped                 vim vimtest.txt

[[email protected] test]# ls -a

.  ..  .vimtest.txt.swp

模拟断线

[[email protected] test]# kill -9 %1

[1]+  Stopped                 vim vimtest.txt

[[email protected] test]# ll -a

total 12

drwxr-xr-x. 2 root root 4096 Apr 19 15:23 .

drwxrwxrwt. 9 root root 4096 Apr 19 15:23 ..

-rw-------. 1 root root 4096 Apr 19 15:23 .vimtest.txt.swp

断线后.vimtest.txt.swp文件还存在。再次编辑时候,可以打开.vim.test.txt文件继续编辑

说明:由于vim的工作被不正常中断,导致暂存盘无法通过正常流程结束,所以暂存文件不会消失,而继续保留下来。可以再次编辑。

(2)再次编辑会出现如下状态

[[email protected] test]# vim vimtest.txt

暂存盘的文件,可能有2种情况:

【1】可能有其他人或程序同时在编辑这个文件

解决方法:找到正在编辑文件的人员,请他将vim的工作结束,然后再继续处理

如果只是查看,而不需要编辑,选择o,“[O]pen Read-Only,只读模式。

【2】在上一次vim时,可能因为某些原因导致vim中断

解决方法:如果上一次vim时未保存,按下R,使用[R]ecover的选项,载入.vimtest.txt.swp的内容,离开后还得手动删除.vimtest.txt.swp文件,避免每次打开这个文件都会出现这样的警告

如果确定这个暂存文件没有用,可以按下D,选择【D】elete it 这个选项,直接删除这个.vimtest.txt.swp文件,并且会建立新的swp文件

8,vim的功能

9,块选择  (自己找练习题练习下)

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

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

【ctrl】+v 块选择,可以用长方形的方式选择数据

y  将反白的地方复制起来

d  将反白的地方删除

10,多文件编辑

:n  编辑下一个文件

:N  编辑上一个文件

:files 列出目前这个vim打开的所有文件

11,多功能窗口

:sp [filename] 打开一个新窗口,如加filename,表示在新窗口打开一个新文件,否则表示俩个窗口为同一个文件内容

【Ctrl】+w+j   光标移至下方的窗口

【Ctrl】+w+向下键 光标移至下方的窗口

【Ctrl】+w+k   光标移至上方的窗口

【Ctrl】+w+向上键  光标移至上方的窗口

【Ctrl】+w+q   结束离开

12,vim的环境设置与记录 ~/.vimrc,~/.viminfo

~/.vimrc为环境设置值的文件

~/.viminfo为操作记录的文件

vim环境设置参数

:set nu 就是设置行号

:set nonu 取消显示行号

:set hlsearch  查找字符串反白,高亮

:set nohlsearch 取消高亮

:set autoindent  表示自动缩排

:set noautoindent 取消自动缩排

:set backup  自动备份文件

:set ruler 显示右下角的一些状态说明

:set showmode  显示--INSET--之类的字在左下角的状态栏

:set backspace=(0,1,2) 按下i进入编辑模式后,可以利用退格

:set all 显示目前所有的环境参数设置值

:set 显示与系统默认值不同的设置参数

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

:syntax off  关闭

:set bg=dark 可用显示不同的颜色色调,默认是light

:set bg=light

可以修改/etc/vimrc   或者~/.vimrc

linux学习笔记--vim程序编辑器,布布扣,bubuko.com

时间: 2024-08-22 07:41:24

linux学习笔记--vim程序编辑器的相关文章

Linux学习:vim程序编辑器

本次记录vim这款文本编辑器的使用方法及它有哪些使用实例等. 基本概念 在Linux环境中,配置文件对整个系统来说具有举足轻重的作用,而对于其都是以ASCII的纯文本形式存在,而利用文本编辑器就能够达到方便修改配置的目的. vi是UNIX操作系统和UNIX Like操作系统中最通用的全屏幕纯文本编辑器.而Linux中的vi编辑器叫vim,它是vi的增强版(vi improved),与vi编辑器兼容,而且实现了很多增强功能. vim的有哪些特点: 1. 所有的UNIX Like系统都会内置的文本编

Linux学习笔记——Vim编辑器(三)

++++++++++++++++++++++++++++++文件编辑器Vim+++++++++++++++++++++++++++++++ 文件编辑器Vim: 插入命令: 定位命令: 删除命令: 复制和剪切命令: 搜索和搜索替换命令: 保存和退出命令: 导入命令执行结果:r !命令 定义快捷方式 map ^p I#<ESC> 替换命令:ab mymail [email protected] Vim配置文件:/home/username/.vimrc     /root/.vimrc +++++

CentOS学习笔记--vi程序编辑器

vi程序编辑器 Linux里经常需要修改一些配置文件,这时就需要一个编辑器,几乎所有的Linux版本都提供了vi这个编辑器. 文件内容查阅cat命令 如果我们要查阅一个文件的内容时,该如何是好呢?这里有相当多有趣的命令可以来分享一下: 最常使用的显示文件内容的命令可以说是 cat 与 more 及 less 了!此外,如果我们要查看一个很大型的文件 (好几百MB时),但是我们只需要后端的几行字而已,那么该如何是好?呵呵!用 tail 呀,此外, tac 这个命令也可以达到!好了,说说各个命令的用

Linux学习笔记——vim操作使用

vim编辑器 vim是Linux下一个很好用的文本编辑器 vim有三种基本模式:编辑模式,命令模式和末行模式 下面分别介绍三种模式的操作 首先介绍三种模式的转换方法: 编辑模式 --> 输入模式 i: insert, 在光标所在处输入: a: append, 在光标所在处后面输入: o: 在当前光标所在行的下方打开一个新行: I:在当前光标所在行的行首输入: A:在当前光标所在行的行尾输入: O:在当前光标所在行的上方打开一个新行: c C 输入模式 --> 编辑模式 ESC 编辑模式 --&

拜师鸟哥之linux学习体会(9)——vim程序编辑器

1.    在linux下也是可以编程的哦,采用的是vim程序编辑器,如果你学会使用vim并能看懂一个vim程序,那就很了不得了.在介绍vim之前,我们先学习下他的前身vi.vi具有三种模式:一般模式.编辑模式和指令列命令模式.三者之间是这样转换的: 2.    一般打开一个vim程序就进入一般模式,之后输入o,O,a,A,i,I,r,R中的任何一个就进入编辑模式,之后左下方会出现INSERT或REPLACE.若要回到一般模式,就必须按下Esc来退出编辑模式.在一般模式下,输入:/?中的任意一个

Linux基础之vi(vim)程序编辑器

在linux的系统中使用文本编辑器来编辑你的Linux参数配置文件可是一件很重要的事情.因此我们只是应该要熟悉一种文本编辑器,这里我们主要介绍vi(vim). vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是"visual interface"的缩写,vim是vi IMproved(增强版的vi).在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim. 我们

【Linux学习笔记】第5章 VIM工具

5.1vim介绍vim是vi的升级版,带有颜色显示,先安装包yum install -y vim-enhancedvim分为三种模式:一般模式.编辑模式.命令模式. 5.2vim颜色显示和移动光标相同的文件信息在不同目录下显示颜色会有差异.相同内容,不同文件名,显示颜色也会有差异.vim的配置文件/etc/vimrc. 5.3vim一般模式下移动光标一般模式下:h或向左的方向键 光标向左移动一个字符l或者向右的方向键 或者空格键 光标向右移动一个字符Ctrl+f或PageUp键 屏幕向前移动一页

linux学习笔记(一)-文件目录相关的命令&&文件通配符

一.几个命令概述 1.查看目录以及目录底下的文件:ls(-a显示隐藏文件:-d显示目录本身:-l显示详细内容:-R递归显示,即把子目录的文件也显示出来:-h以更加被人类理解的格式显示,比如显示文件大小的时候用M为单位显示:-i显示文件索引ID) 2.查看文件内容:cat,head,tail,less,more,tac cat:将文件连接起来,输出在屏幕上,可接多个文件(-E:显示隐藏的换行符:-n:显示出行号) head:默认查看文件的前10行(-n#:查看文件的前#行.空白行也是一行) tai

Linux学习笔记033_11进程

ps:(process information,静态的) 显示进程信息,不加参数显示当前终端的进程 a:包括所有终端的进程 x:不属于任何终端的进程,和任何用户无关系的进程 u:显示出进程的拥有人 f:显示进程的附属关系(依赖关系,父子进程) USER:进程的拥有人 PID:进程ID,默认用进程ID排序 VSZ:程序在运行时调用多少虚拟内存 RSS:真实内存 TTY:?不属于任何终端,进入终端之前就运行 STAT:状态,s为睡眠 TIME:进程持续时间 COMMAND:运行这个进程的指令 ps