vi/vim命令

概述

vi: Visual Interface

vim: VI iMproved

?

vim模式

有三種:

編輯模式(命令模式)


如:通過命令新增一行,刪除一行,復制一行,光標移動等


輸入模式


輸入模式在屏幕末尾一定有這個“-- INSERT --”


末行模式


ESC,從輸入模式退出進入到編輯模式。輸入冒號,進入末行模式。


模式轉換

編輯-->輸入:

i: 在當前光標所在字符的前面,轉為輸入模式;

a: 在當前光標所在字符的后面,轉為輸入模式;

o: 在當前光標所在行的下方,新建一行,并轉為輸入模式;

I:在當前光標所在行的行首,轉換為輸入模式

A:在當前光標所在行的行尾,轉換為輸入模式

O:在當前光標所在行的上方,新建一行,并轉為輸入模式;

?

輸入-->編輯:

ESC

編輯-->末行:

?

末行-->編輯:

ESC, ESC

?

要養成的習慣:

輸入完一行就退回到編輯模式,不要在輸入模式里移動光標。

輸入模式和編輯模式是經常切換的。


一、打開文件

# vim /path/to/somefile

vim +# :打開文件,并定位于第#profile5行:vi/vim +5 profile

vim +:打開文件,定位至最后一行

vim +/PATTERN : 打開文件,定位至第一次被PATTERN匹配到的行的行首

例:打開進入profile文件里第一次出現“HOME”的行。

[root@hello110 /]# vi +/HOME profile


使用 N next)命令,查找下一個帶有HOME的行。

默認處于編輯模式



二、關閉文件

1、末行模式關閉文件

:q ?退出

:wq 保存并退出

:q! 不保存并退出

:w 保存

:w! 強行保存

2、編輯模式下退出

ZZ: 保存并退出


三、移動光標(編輯模式)

1、逐字符移動:

h:

l(L):

j:

k:

?#h: 移動#個字符;

?

2、以單詞為單位移動

w: 移至下一個單詞的詞首

e: 跳至當前或下一個單詞的詞尾

b: 跳至當前或前一個單詞的詞首

3、行內跳轉:

0: 絕對行首

^: 行首的第一個非空白字符

$: 絕對行尾


四、翻屏

Ctrl+f: 向下翻一屏

Ctrl+b: 向上翻一屏

?

Ctrl+d: 向下翻半屏

Ctrl+u: 向上翻半屏

?

五、刪除單個字符

x: 刪除光標所在處的單個字符

#x: 刪除光標所在處及向后的共#個字符

?

六、刪除命令: d

d命令跟跳轉命令組合使用;

#dw??刪除光標下一個單詞,

#de?刪除光標到行結尾的,

#db?刪除光標上一個單詞

dd: 刪除當前光標所在行

#dd: 刪除包括當前光標所在行在內的#行;


例子:

末行模式下:

.: 表示當前行

$: 最后一行

+#: 向下的#


命令功能:

. ??當前光標所在行

?是分隔符

刪除當前光標后3行。



七、粘貼命令 p

p: 如果刪除或復制為整行內容,則粘貼至光標所在行的下方,如果復制或刪除的內容為非整行,則粘貼至光標所在字符的后面;

P: 如果刪除或復制為整行內容,則粘貼至光標所在行的上方,如果復制或刪除的內容為非整行,則粘貼至光標所在字符的前面;

大寫和小寫的p復制位置有區別


八、復制命令 y

用法同d命令如:復制一行 yy


復制:光標所在位置開始到,文檔末尾倒數3行為止的內容。


九、修改:

先刪除內容,再轉換為輸入模式

c: 用法同d命令

?

十、替換:r

R: 替換模式

r+要修改的內容。例子:rw:將光標所在的位置的值改成w


十一、撤消編輯操作 u

u:撤消前一次的編輯操作

連續u命令可撤消此前的n次編輯操作

#u: 直接撤消最近#次編輯操作

?

撤消最近一次撤消操作:Ctrl+r


十二、查找

/PATTERN

?PATTERN

n

N

區別:

/ 時,按n鍵,往下查

? 時,按n鍵,往上查


十三、將當前文件中部分內容另存為另外一個文件

末行模式下使用w命令

:w

:ADDR1,ADDR2w /path/to/somewhere

舉例:

:1,5 w ~/163.txt
? ? 把第一行到第五行復制到 ~/163.txt


:12,17 w>> ~/163.txt
? ? 把12到17行追加到 163.txt

:w filename
打開一個文件并修改后,保存成為另一個文件,原文件內容不變


十四、將另外一個文件的內容填充在當前文件中

:r /path/to/somefile


十五、跟shell交互

:! COMMAND

在末行模式下,用感嘆號+linux命令




本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/539115.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/539115.shtml
英文地址,請注明出處:http://en.pswp.cn/news/539115.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python條件判斷true_Python中的True,False條件判斷實例分析

本文實例講述了Python中的True,False條件判斷用法。分享給大家供大家參考。具體分析如下:對于有編程經驗的程序員們都知道條件語句的寫法:以C為例:代碼如下:if (condition){doSomething();}對于Python中的條件判斷語句的寫法則是下面的樣子&a…

python安裝報錯類型_解決Python安裝cryptography報錯問題

解決Python安裝cryptography報錯問題錯誤一:gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python2.7 -c c/_cffi…

使用ntpdate校正linux系統的時間

原文地址:http://blog.csdn.net/lixianlin/article/details/7045321 ------------------------------------------------------------------------------------- 當Linux服務器的時間不對的時候,可以使用ntpdate工具來校正時間。 安裝:yum in…

Visual Studio 2017 15.6發布

\看新聞很累?看技術新聞更累?試試下載InfoQ手機客戶端,每天上下班路上聽新聞,有趣還有料!\\\微軟發布了Visual Studio 2017的第6次升級。和之前的發布一樣,此次升級包含多項Bug修復和整個IDE使用體驗的改善…

主mysql刪除從服務不同步_MySQL主從不同步解決

由于binlog日志帶多刪除了幾個后發現MySQL主從不同步1、由于binlog日志帶多刪除了幾個后發現MySQL主從不同步mysql> show slave status\G;Slave_IO_Running: NoSlave_SQL_Running: Yes查看報錯日志為[ERROR] Slave I/O: Got fatal error 1236 from master when reading data…

python切片是什么_python列表切片是什么

我們基本上都知道Python的序列對象都是可以用索引號來引用的元素的,索引號可以是正數由0開始從左向右,也可以是負數由-1開始從右向左。在Python中對于具有序列結構的數據來說都可以使用切片操作,需注意的是序列對象某個索引位置返回的是一個元…

cat-grep-sed應用案例

案例&#xff1a; 已知文件test.txt內容為&#xff1a; test liming xiaoming 請打印出test.txt內容時&#xff0c;不包含xiaoming字符串的命令。 創建文件test.txt [roothello110 testdata]# cat >>test.txt<<EOF > test > liming > xiaoming >…

機器學習(一)梯度下降算法的實現及過程分析

機器學習&#xff08;一&#xff09;梯度下降算法 因為算法最好能應用到實際問題中才會讓讀者感到它的真實的用處&#xff0c;因此首先我來描述一個實際問題&#xff08;梯度下降算法用以幫助解決該問題&#xff09;&#xff1a;給定一個指定的數據集&#xff0c;比如由若干某一…

quick time不可用_那些校園中“不可言說”的鄙視鏈

原標題&#xff1a;那些校園中“不可言說”的鄙視鏈俗話說&#xff0c;有人的地方就有江湖&#xff0c;有江湖的地方總有人喜歡論論劍&#xff0c;分個高低&#xff0c;更何況是聚集了五湖四海人群的大學呢&#xff01;今天小U總結出了一篇高校鄙視鏈大全&#xff0c;快來看看符…

select怎么設置默認值_20200817:詳細說下數據傾斜怎么解決?

福哥答案2020-08-17&#xff1a;數據傾斜是大數據領域繞不開的攔路虎&#xff0c;當你所需處理的數據量到達了上億甚至是千億條的時候&#xff0c;數據傾斜將是橫在你面前一道巨大的坎。很可能有幾周甚至幾月都要頭疼于數據傾斜導致的各類詭異的問題。數據傾斜是指&#xff1a;…

邢不行python資源_邢不行—數字貨幣python量化投資

本帖最后由 ynjie 于 2020-10-14 21:39 編輯課時1.1 什么是量化投資.mp4課時1.2 數字貨幣市場特點.mp4課時1.3 2018量化炒幣7大玩法復盤.mp4課時1.4 量化策略案例&#xff1a;Excel演示定投策略.mp4課時1.5 量化策略案例&#xff1a;Python演示定投策略.mp4課時1.6 量化策略案例…

數據庫查詢某一列大寫轉化小寫字母表示_基于MySQL數據庫下億級數據的分庫分表...

移動互聯網時代&#xff0c;海量的用戶數據每天都在產生&#xff0c;基于用戶使用數據的用戶行為分析等這樣的分析&#xff0c;都需要依靠數據都統計和分析&#xff0c;當數據量小時&#xff0c;數據庫方面的優化顯得不太重要&#xff0c;一旦數據量越來越大&#xff0c;系統響…

ASP.NET Core Docker Jenkins 零基礎持續集成實戰

一.本系列教程說明 源代碼管理工具&#xff1a;Gogs 持續集成工具&#xff1a;Jenkins 容器&#xff1a;Docker 二.git管理軟件的選擇 沒有采用gitlab&#xff0c;因為gitlab比較吃配置&#xff0c;至少得2核4G的配置。采用go語言開發的gogs來代替&#xff0c;搭建方便(不到10分…

vs 啟動調用的目標發生異常_協程中的取消和異常 | 取消操作詳解

在日常的開發中&#xff0c;我們都知道應該避免不必要的任務處理來節省設備的內存空間和電量的使用——這一原則在協程中同樣適用。您需要控制好協程的生命周期&#xff0c;在不需要使用的時候將它取消&#xff0c;這也是結構化并發所倡導的&#xff0c;繼續閱讀本文來了解有關…

java http 下載文件_JAVA通過HttpURLConnection 上傳和下載文件的方法

本文介紹了JAVA通過HttpURLConnection 上傳和下載文件的方法&#xff0c;分享給大家&#xff0c;具體如下&#xff1a;HttpURLConnection文件上傳HttpURLConnection采用模擬瀏覽器上傳的數據格式&#xff0c;上傳給服務器上傳代碼如下&#xff1a;package com.util;import java…

mkdir-yum-tree命令應用案例

案例&#xff1a; 請用一條命令完成目錄創建/hello/world/test 解答&#xff1a; mkdir -p /hello/world/test -p 遞歸創建目錄&#xff0c;沒有子目錄創建。 案例&#xff1a; 打印hello/目錄的結構 [roothello110 ~]# tree hello/ -bash: tree: command not found 發…

pytorch 圖像分割的交并比_Segmentation101系列-最簡單的卷積網絡語義分割(1)-PASCAL VOC圖像分割...

作者&#xff1a;陳洪瀚 /洪瀚筆記知乎專欄摘要&#xff1a;介紹了使用PyTorch和torchvision加載訓練好的全卷積網絡FCN或DeepLab模型&#xff0c;并對PASCAL VOC圖像進行分割并顯示結果。網址&#xff1a;github代碼鏈接, 碼云代碼鏈接陳洪瀚?www.zhihu.com一. 準備實驗數據下…

python selenium chrome獲取每個請求內容_python+selenium調用chrome打開網址獲取內容

通過selenium庫&#xff0c;python可以調用chrome打開指定網頁并獲取網頁內容或者模擬登陸獲取網頁內容1&#xff0c;安裝selenium和配置chromedriver安裝seleniumC:\Users\cord> pip install selenium配置chromedriver該下載什么版本根據瀏覽器版本以及附錄的版本對照表下載…

系統目錄結構 ls命令 文件類型 alias命令

2019獨角獸企業重金招聘Python工程師標準>>> 2.1/2.2 系統目錄結構 /bin&#xff1a;bin是Binary的縮寫&#xff0c;該目錄下存放的是最常用的命令。 /boot&#xff1a;該目錄下存放的是啟動Linux時使用的一些核心文件&#xff0c;包括一些連接文件以及鏡像文件。 …