当前位置: 澳门新濠3559 > 编程 > 正文

    dd 删除光标所在行,  vim 直接启动vim

时间:2019-11-29 05:50来源:编程
vim命令的 使用 vim c.py 进入文件或者创建文件 esc按键 命令模式 黄绿色 i 插入模式 蓝色 英文模式下打:号 末行模式 q 英文模式下按q强制退出 wq 保存退出 q! 不保存退出 h 上 j 下 k 上 l右
vim命令的 使用

  vim  c.py    进入文件或者创建文件
  esc按键      命令模式  黄绿色
  i            插入模式  蓝色
  英文模式下打:号         末行模式
  q            英文模式下按q强制退出
  wq           保存退出
  q!           不保存退出
  h 上  j 下  k 上  l右         移动光标的方法

  命令模式下使用:
  gg  回到开头   G要大写回到结尾    ^小帽子 回到非空格行首   0是数字 回到行首    $  行尾
  yy  复制       p粘贴      按下5在按yy可以复制光标以下5行
  i 从光标位置前插入 
  l 这种当前行首插入
  a 从光标位置后面输入
  • 5.1 vim介绍 5.2 vim颜色显示和移动光标
  • 5.3 vim一般模式下移动光标
  • 5.4 vim一般模式下复制、剪切和粘贴

在写脚本的时候,vim可以以不同的颜色显示关键字,并提供强大的功能

vim命令总结,vim命令

最近刚接触Linux系统,现在以一个初学者的角度总结一下vim命令

     A  在当前行尾插入

 

1.vim模式
  编辑模式-->输入模式
    i:光标前输入      I:行首输入
    a:光标后输入    A:行尾输入
    o:光标下输入    O:光标上输入
  编辑模式-->末行模式
    :     冒号
  输入模式-->编辑模式<--末行模式
    ESC 

Vim的四种模式

一.启动Vim

 

1.双击桌面的图标,就可以启动Vim(是图形界面的)

2.在开始菜单---点--运行 接着输入 vim 或者gvim,就可以启动Vim或Gvim了.

3.在命令行窗口中输入以下命令即可:

  vim 直接启动vim

  vim filename 打开vim并创建名为filename的文件

     o  在光标所在行下方新增一行并进入输入模式

vim   是vi的升级版本

2.打开文件

    dd 删除光标所在行,  vim 直接启动vim。二.Vim的模式

     O  在当前上面一行插入

vim 带有颜色显示

  vim +数字:打开文件,定位于第数字行
  vim +:打开文件,定位于最后一行
  vim +/关键字:打开文件,定位至第一次被匹配到的行行首

1.Vim常用模式:

  命令模式(command-mode)

  插入模式(insert-mode)

  可视模式(visual-mode)

  正常模式(normal-mode) 

删除

安装vim : yum install  -y    vim-enhanced

3.关闭文件

2.如何进入这些模式

    dd 删除光标所在行

vim分三种模式:一般模式、编辑模式、命令模式

  末行模式:
    :q   退出
    :wq  保存并退出,也可以使用:x
    :q! 不保存退出
    :w  保存
    :w!强行保存

①.正常模式

正常模式主要用来浏览和修改文本内容的

一般的,打开Vim都是正常模式。在任何模式下,只要按下 Esc 键就可以返回正常模式。以下模式的转换都先转换到正常模式下.

    dw 删除一个单词

一般模式: dd,yy,pp,

  编辑模式:
    ZZ:保存并退出

②.插入模式

插入模式则用来向文本中添加内容的,也就是对文本内容的编辑

正常模式==>插入模式    

  按 i 在光标所在字符前开始输入文字并进入插入模式

  按 a 在光标所在字符后开始输入文字并进入插入模式

  按 o (字母o) 在光标所在行的下面单独开一新行来输入文字并进入插入模式

  按 s 删除光标所在的字符并进入插入模式

  按I 在行首开始输入文字并进入插入模式。此行首指第一个非空白字符处。如果行首有空格,则在空格之后输入文字并进入插入模式

  按 A 在行尾开始输入文字并进入插入模式。这个好用,您不必管光标在此行的什麽地方,只要按 A 就会在行尾等着您输入文字。

  按 O (大写字母O) 在光标所在行的上面单独开一新行来输入文字并进入插入模式。

  按 S 删除光标所在行并进入插入模式

 

      x 删除光标所在字符

编辑模式:i,a,

4.移动光标

③可视模式

可视模式相当于高亮选取文本后的普通模式。

可视模式具有子模式,以行为单位进行选取的可视行模式,使用“V”键进入(也就是Shift+v);和以块为单位进行选取的可视块模式,使用“Ctrl+v”键进入。

正常模式==>可视模式   
      按 v 可视模式    
      按 V 可视块模式

      u 撤销上一次操作

命令模式: q,wq!,q!,set nu,set nonu;nohl(no highlight不高亮);

  字符移动
    h:  ←
    j:    ↓
    k:   ↑
    l:   →

④命令模式

命令模式则多用于操作文本文件(而不是操作文本文件的内容),例如保存文件;或者用来改变编辑器本身的状态,例如设定多栏窗口、标签或者退出编辑器……

正常模式==>命令模式   
      按 : (shift 加 分号)

 

     ctrl + r 撤销 u

x也可以保存退出,类似wq;

  单词移动
    w:移至下一个单词词首
    e:移至当前或下一个单词词尾     b:移至当前或前一个单词词首

vim的各种命令

插入模式下的键盘操作都是对文本内容的编辑,下面的命令是在正常模式下使用的(以:开头的命令是先进入命令模式后,在命令模式下输入:后的内容)

 

如果无操作wq会保存mtime更改的时间

  行内跳转
    0:绝对行首             $:绝对行尾 
    ^:行首的第一个非空白字符

移动命令

h 左移一个字符

l 右移一个字符,这个命令很少用,一般用w代替。

(h和l命令只能在本行移动,无法换行)

k 上移一个字符

j 下移一个字符

以上四个命令可以配合数字使用,比如20j就是向下移动20行,5h就是向左移动5个字符,在Vim中,很多命令都可以配合数字使用,比如删除10个字符10x,在当前

置后插入3个!,3a!<Esc>,这里的Esc是必须的,否则命令不生效。

w 向右移动一个单词(光标停在单词首部),如果已到行尾,则转至下一行行首。此命令快,可以代替l命令。

b 向左移动一个单词   2b 向左移动2个单词

e,同w,只不过是光标停在单词尾部

ge,同b,光标停在单词尾部。

^ 移动到本行第一个非空白字符上。

0(数字0)移动到本行第一个字符上,

<HOME> 移动到本行第一个字符。同0健。

$ 移动到行尾   3$ 光标向下移动2行并到行末

gg 移动到文件头。 = [[

G(shift + g) 移动到文件尾。 = ]]

f(find)命令也可以用于移动,fx将找到光标后第一个为x的字符,3fd将找到第三个为d的字符。

F 同f,反向查找。

(f和F命令只能在本行查找,无法查找其他行的内容)

跳到指定行,冒号+行号,回车,比如跳到240行就是 :240回车。另一个方法是行号+G,比如230G跳到230行。

Ctrl + e 向下滚动一行

Ctrl + y 向上滚动一行

Ctrl + d 向下滚动半屏

Ctrl + u 向上滚动半屏

Ctrl + f 向下滚动一屏

Ctrl + b 向上滚动一屏

块操作

x不会保存更改的时间;

  行间跳转
    #G:跳转至第#行
    G:跳转至最后一行
    末行模式下直接给出行号即可

查找命令

/text  查找text,按n健查找下一个,按N健查找前一个。

?text  查找text,反向查找,按n健查找下一个,按N健查找前一个。

vim中有一些特殊字符在查找时需要转义  .*[]^%/?澳门新濠3559,~$(利用进行转义)

:set ignorecase  忽略大小写的查找

:set noignorecase  不忽略大小写的查找

查找很长的词,如果一个词很长,键入麻烦,可以将光标移动到该词上,按*或#键即可以该单词进行搜索,相当于/搜索。而#命令相当于?搜索。

:set hlsearch  高亮搜索结果,所有结果都高亮显示,而不是只显示一个匹配。

:set nohlsearch  关闭高亮搜索显示

:nohlsearch  关闭当前的高亮显示,如果再次搜索或者按下n或N键,则会再次高亮。

:set incsearch  逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成。

:set wrapscan  重新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启。

      v 块选择

 

5.翻屏

替换命令

ra 将当前字符替换为a,当期字符即光标所在字符。

:s/old/new 用new替换old,替换当前行的第一个匹配

:s/old/new/g 用new替换old,替换当前行的所有匹配

:%s/old/new 用new替换old,替换所有行的第一个匹配

:%s/old/new/g 用new替换old,替换整个文件的所有匹配

:10,20 s/^/    /g 在第10行到第20行每行前面加四个空格,用于缩进。

ddp 交换光标所在行和其下紧邻的一行。(是dd命令和p命令的组合)

     ctrl + v 列块选择

 

  ctrl+f:向下翻一屏    ctrl+b:向上翻一屏
  ctrl+d:向下翻半屏     ctrl+u:向上翻半屏

撤销和重做

u 撤销(Undo)
U 撤销对整行的操作
Ctrl + r 重做(Redo),即撤销的撤销。

 

配置文件是带有颜色的,复制到别的地方就没有颜色了。

6.删除

删除命令(相当于剪切)

x 删除当前字符

3x 删除当前光标开始向后三个字符

X 删除当前字符的前一个字符。X=dh

dl 删除当前字符, dl=x

dh 删除前一个字符,dh=X

dd 删除当前行

dj 删除当前行和下一行

dk 删除当前行和上一行

10dd 删除当前行开始的10行。

D 删除当前字符至行尾。D=d$

d$ 删除当前字符之后的所有字符(本行)

:1,10d 删除1-10行

:11,$d 删除11行及以后所有的行

:1,$d 删除所有行

J(shift + j)  删除本行和下一行之间的空格,实际上是合并两行。

替换 末行模式

有的文件会跟不同文件类型,颜色显示不同;

  #x:删除光标所在处的#个字符
  #d:删除光标所在字符至#个字符
  #dd:删除光标所在行至#行
  末行模式下:
    开始行,结束行d;
    .:当前行
    $:最后一行
    +#:向下#行

拷贝和粘贴

yy 拷贝当前行

nyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。

p  在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。

shift+p 在当前行之上粘贴

:1,10 co 20 将1-10行插入到第20行之后。

:1,$ co $ 将整个文件复制一份并添加到文件尾部。

正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制

ddp交换当前行和其下一行

xp交换当前字符和其后一个字符

     :s/s1/s2 替换当前行第一个s1为s2

 

7.复制

剪切命令

正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按d即可剪切

ndd 剪切当前行之后的n行。利用p命令可以对剪切的内容进行粘贴

:1,10d 将1-10行剪切。利用p命令可将剪切后的内容进行粘贴。

:1, 10 m 20 将第1-10行移动到第20行之后

     :s/s1/s2/g 替换当前行中所有s1为s2

 

  y,用法同d命令

退出命令

:wq 保存并退出

ZZ 保存并退出

:q! 强制退出并忽略所有更改

:e! 放弃所有修改,并打开原来文件。

     :%s/s1/s2/g 替换文中所有s1为 s2

 

8.粘贴

注释命令

perl程序中#开始的行为注释,所以要注释某些行,只需在行首加入#

:3,5 s/^/#/g 注释第3-5行

:3,5 s/^#//g 解除3-5行的注释

:1,$ s/^/#/g 注释整个文档.

 

 

 

图片转自:

澳门新濠3559 1

澳门新濠3559 2

最近刚接触Linux系统,现在以一个初学者的角度总结一下vim命令 Vim的四种模式 一.启动Vim 1.双击桌面的图标,就可以启动...

 

 

  小p:删除或复制整行,粘贴在光标下面;删除或复制非整行,粘贴在光标后面
  大P:------------------------------------上面;--------------------------------------- 前面

查找

快捷键:

9.修改

       :  / 命令模式下输入

 

  c,用法同d命令,先删除内容在进行插入模式

      :/ 向下搜索 ? 命令模式下输入

 

10.替换

      :? 向上搜索 n 向下查找 N 向上查找

gg 跳到开头第一行;

  r:单个字符替换
  R:持续替换

 

G 移动到行尾;

11.撤销

shift+o  光标指向开头第一行之前,并进入编辑模式;

  u:撤销前一次操作,可连续使用
  #u:直接撤销最近#次操作

h  j  k   l  左下上右 方向键

12.还原撤销

空格键 ,向右移动;

  ctrl+r:还原最近一次的撤销操作

数字+空格 : 1一次向右移动多少个字符;

13.重复

向上翻页:ctrl + f  (forward)

  .:重复此前的编辑操作

向下翻页: ctrl+b      (back)

14.可视化模式

nG (n是数字) 移动到第几行

  类似于windows的光标选取
  v:按字符选取
  V:按矩形块选取

数字0或者shift+6移动到本行行首;

15.查找

shift+4 移动到本行行尾;

  /字符:从尾部开始查找,nN下一个上一个
  ?字符:从首部开始查找

 

16.查找替换

 

  末行模式下:开始行,结束行s/正则表达式/替换内容/g

 

17.编辑多个文件

复制 yy  ; 3  yy  复制下面3行,p粘贴到下面,P粘贴到上面;

   vim FILE1 FILE2 FILE3
  :next 切换至下一个文件
  :prev 切换至前一个文件
  :last 切换至最后一个文件
  :first 切换至第一个文件
  :qa 全部退出

粘贴 pp;

18.分窗口编辑多个文件

剪切:5 dd 剪贴下面5行,p粘贴到下面,P粘贴到上面;

  vim -o:水平分割显示
  vim -O:垂直分割显示

撤销 u

19.分屏显示一个文件

返回撤销:control+r

  ctrl+w,s:水平拆分窗口
  ctrl+w,v:垂直拆分窗口

删除一行 dd

20.窗口间切换

任意位置选择字符: v   选中之后再做操作

  ctrl+w,方向键

澳门新濠3559 3 

21.将当前文件中的内容另存至别的文件

 

  :开始,结束w 文件路径

X表示向前删除一个字符

22.将另外一个文件的内容填充在当前文件中

x表示向后删除一个字符

  :r 文件路径

nx表示向后删除n个字符

23.文件打开的同时执行shell命令

 

  :! 命令

 

24.行号

 

  :set nu      显示行号
  :set nonu  隐藏行号

进入编辑模式

25.区分大小写

小写i在当前字符前插入

  :set ignorecase   
  :set icon   
  :set noic

大写I 在光标所在行的行首插入

26.设定自动缩进

大写O 在光标上面一行插入编辑

  :set autoindent
  :set ai
  :set noai

小写o在光标下面一行插入编辑

27.查找到的文本高亮显

小写a 在光标后面插入写(a是after的缩写)

  :set hlsearch
  :set nohlsearch

大写A在光标所在行的行末插入编辑

28.语法高亮

 

  :syntax on 
  :syntax off
29.配置文件

 

  /etc/vimrc    全局vim配置文件
  ~/.vimrc    个人vim配置文件

 

 

/ 光标之后查找匹配字符串  --- /word   ----- shift + n 向上查找

 

?光标之前查找特定字符串----?word

   

1,100s/User/xiaobo/g------1到100行,s表示开始替换,把User替换成xiaobo , g 全局替换global

 

不加g,只会替换第一个;

 

 把aa替换为bb,查找字符串并替换:%s  /aa/bb/g     -----%表示所有行

 

全部替换: 1,$s/ftp/xiaobo/g   -----$表示一直到末行,所有的;

 

 

 

/etc/hosts/xiaobo.com   把字符/etc/hosts替换为xiaobo.com

 

1,$s//etc/hosts/xiaobo.com/g

 

其中表示脱义,把/etc/hosts识别为字符串

 

 

 

也可以这样写:

 

1,$s#/etc/hosts#xiaobo.com#g

 

 

 

 

 

实践:

 

# cp /etc/dnsmasq.conf  /tmp/1.txt

 

#vim /tmp/1.txt

 

不高亮nohl

 

(1) 分别向下、向右、向左、向上移动6个字符(6j 6l 6h 6k)。

  

(2) 分别向下、向上翻两页(分别按两次ctrl+f和ctrl+b)。

 

(3) 把光标移动到第49行(49G)。

(4) 把光标移动到行尾,再移动到行首(Shift+4, Shift+6)。

(5) 移动到1.txt文件的最后一行(G)。

(6) 移动到文件的首行(gg)。

(7) 搜索文件中出现的“dnsmasq”,并数一下该字符串出现的次数(/dnsmsq 然后按n)。

(8) 把从第1行到第10行出现的dnsmasq替换成dns(:1,10s/dnsmasq/dns/g)。

(9) 还原上一步操作(u)。

(10) 把整个文件中所有的etc替换成cte(:1,$s/etc/cte/g)。

(11) 把光标移动到第25行,删除字符串 “ly”(25G 然后按l向右移动光标找到"ly",按v选中,然后按x)。

(12) 还原上一步操作(u)。

(13) 删除第50行(50G dd)。

(14) 还原上一步操作(u)。

(15) 删除第37-42行的所有内容(37G 6dd)。

(16) 还原上一步操作(u)。

(17) 复制第48行的内容并粘贴到第52行下面(48G yy 52G p)。

(18) 还原上一步操作(u)。

(19) 复制第37-42行的内容并粘贴到第44行上面(37G 6yy 44G P)。

(20) 还原上一步操作(按u)。

(21) 把第37-42行的内容移动到第19行下面(37G 6dd 19G p)。

(22) 还原上一步操作(按u)。

(23) 把光标移动到首行,把第1行内容改为“#!/bin/bash”(先按gg,把光标定位到第1行,然后按字母A,进入编辑模式,同时>光标到行末尾,进行修改操作,完成后按ESC)。

(24) 在第1行下面插入新的一行,并输入“# Hello!”(按o进入编辑模式,同时光标向下另起一行,输入“# Hello!”)。

(25) 保存文档并退出(按Esc键,输入“:wq”)。

 

编辑:编程 本文来源:    dd 删除光标所在行,  vim 直接启动vim

关键词: