1. 程式人生 > >每天學點Linux(三)Linux下VIM的使用

每天學點Linux(三)Linux下VIM的使用

本文參考文章:
Vim 101: A Beginner’s Guide to Vim
如果你屬於以下人群,學習VIM是有益的:
- 系統管理者
- 程式設計人員
- 使用HTML,LaTeX或者其他置標語言
- 純文字重度使用者

vi/vim的使用

基本上vi/vim共分為三種模式,分別是命令模式(Command mode)、輸入模式(Insert mode)和退出模式(Last line mode)在命令列直接鍵入:

vi apple.txt

開啟的狀態如下:
VIM介面

怎麼進入相應的模式

這種狀態敲擊會變識別為命令和而非輸入的字元。簡單說一下這三種模式:
1. 插入模式:命令模式下鍵入”i”
2. 命令模式:開啟後預設模式或按ESC
3. 退出模式:命令模式下鍵入”:”

在VIM文件中馳騁

當你處於命令模式,你需要記住下面的按鍵以及其含義:

逐字元移動
  • h 往左移一個字元
  • j 往下移動一個字元
  • k 往下移動一個字元
  • l 往右移一個字元.
行內移動
  • 0 將游標移動到該行開始.(zero not o)
  • $ 將游標移動到該行結束.
逐單詞移動
  • w 以單詞作為單位向前推進
  • b 以單詞作為單位向後撤退.
檔案首尾
  • G 到檔案的結尾.
  • gg 到未見的開頭.
  • ` 移動到最近編輯的地方.

VIM對文字做點事情

x:刪除單個字元
dw:刪除整個單詞
d0:一直刪到此行開頭
d$:一直刪到此行結尾
dgg:刪除到檔案開頭
dG:刪除至檔案結尾
u: undo 撤銷修改

VIM中的查詢與替換

下一個等於前一個,上一個表示後一個。
在命令模式中鍵入/或者?

/表示 編輯位置向前尋找
?表示 編輯位置向後尋找
N表示 選中向後尋找
n表示 選中向前尋找
:%s/a/b/g 表示全域性範圍內,用字串b代替字串a
:%s/a/b/gc 表示替代前確認(confirm)

VIM中複製和貼上

  • v highlight one character at a time.
  • V highlight one line at a time.
  • Ctrl-v highlight by columns.
  • p paste text after the current line.
  • P paste text on the current line.
  • y yank text into the copy buffer.

yank 有點像是壓入的意思。

VIM中儲存和退出

在Insert模式中,按Escape進入命令模式,然後鍵入冒號輸入退出指令。

:q q without saving anything 
:q! quit no saving anything without nagging
:wq write and save

當然也可直接輸入大寫的ZZ(不要輸入:了)和wq一樣

相關推薦

每天SpringCloud:自定義Eureka集群負載均衡策略

log util domain 避免 can val 如果 dba filters 相信看了 每天學點SpringCloud(一):簡單服務提供者消費者調用,每天學點SpringCloud(二):服務註冊與發現Eureka這兩篇的同學都了解到了我的套路,沒錯,本篇博客同樣是

每天LinuxLinuxVIM的使用

本文參考文章: Vim 101: A Beginner’s Guide to Vim 如果你屬於以下人群,學習VIM是有益的: - 系統管理者 - 程式設計人員 - 使用HTML,LaTeX或者其他置標語言 - 純文字重度使用者 vi/vim的

每天SpringCloud:使用SpringBoot2.0.3整合SpringCloud

prope long mapping .org -- xsd pom.xml 開始學習 conf 最近開始學習SpringCloud,在此把我學習的過程記錄起來,跟大家分享一下,一起學習。想學習SpringCloud的同學趕快上車吧。 本次學習使用得SpringBoot版本

每天SpringCloud:Hystrix使用

artifact 接下來 文件中 系統 lba eureka nal .get com Hystrix是一個實現斷路器模式的庫。什麽是斷路器模式呢?就像我們家庭中的電閘一樣,如果有那一處出現意外,那麽電閘就會立刻跳閘來防止因為這一處意外而引起更大的事故,直到我們確認處理完那

每天SpringCloud:路由器和過濾器-Zuul

root 什麽是 app ati artifact lap 做了 定義 mailto 為什麽要使用Zuul先來看一下下方這個圖 假如現在我們具有四個微服務,分別是用戶、訂單、支付、催收微服務,它們的調用方式分別是使用http、restful、thrift、kafka。這個時

每天SpringCloud:使用Apollo做配置中心

val override config 數據庫文件 ntc rgb fan lin 相對 由於Apollo支持的圖形化界面相對於我們更加的友好,所以此次我們使用Apollo來做配置中心本篇文章實現了使用Apollo配置了dev和fat兩個環境下的屬性配置。Apollo官方文

每天SpringCloud:SpringCloud監控

今天我們來學習一下actuator這個元件,它不是SpringCloud之後才有的,而是SpringBoot的一個starter,Spring Boot Actuator。我們使用SpringCloud的時候需要使用這個元件對應用程式進行監控與管理 在SpringBoot2.0版本中,actuat

每天SpringCloud十三:SpringCloud-Stream整合RabbitMQ

我們知道,當微服務越來越來多的時候,僅僅是feign的http呼叫方式已經滿足不了我們的使用場景了。這個時候系統就需要接入訊息中介軟體了。相比較於傳統的Spring專案、SpringBoot專案使用訊息中介軟體的很多配置不同,SpringCloud Stream抽象了中介軟體產品的不同,在SpringClou

每天SpringCloud:SpringCloud最常用配置詳解

Eureka 屬性名 說明 預設值 eureka.server.enable-self-preservation 關閉註冊中心的保護機制,Eureka 會統計15分鐘之內心跳失敗的比例低

Linux系統管理初步 Linux網絡管理編輯中

中斷 網絡 lin 命令 連接 nag shell sha 系統管理 Linux網絡管理(一) 一、ifconfig命令ifconfig命令可以顯示網卡及ip參數,在centos6中是比較重要的命令。 使用示例:1、網卡停止與網卡啟動 ifdown (網卡名)ifup

Linux 筆記 - 第十三章 Linux 系統日常管理之Linux 系統日誌和服務

pac ica link tor 包含 3.1 request closed comm 博客地址:http://www.moonxy.com 一、前言 日誌文件記錄了系統每天發生的各種各樣的事情,比如監測系統狀況、排查問題等。作為系統運維人員可以通過日誌來檢查錯誤發生的原因

java程式設計師菜鳥進階十五linux基礎入門linux使用者和組管理

我們大家都知道,要登入linux作業系統,我們必須要有一個使用者名稱和密碼。每一個使用者都由一個惟一的身份來標識,這個標識叫做使用者ID.系統中的每一個使用者也至少需要屬於一個"使用者分組".同樣,使用者分組也是由一個惟一的身份來標識的,該標識叫做使用者分組ID(GID).每位使用者的許可

每天SpringCloud十二:Zipkin全鏈路監控

Zipkin是SpringCloud官方推薦的一款分散式鏈路監控的元件,使用它我們可以得知每一個請求所經過的節點以及耗時等資訊,並且它對程式碼無任何侵入,我們先來看一下Zipkin給我們提供的UI介面都是提供了哪些資訊。 zipkin首頁為我們提供了對於呼叫鏈路的搜尋查詢

每天SpringCloud十四:Zipkin使用SpringCloud Stream以及El

在前面的文章中,我們已經成功的使用Zipkin收集了專案的呼叫鏈日誌。但是呢,由於我們收集鏈路資訊時採用的是http請求方式收集的,而且鏈路資訊沒有進行儲存,ZipkinServer一旦重啟後就會所有資訊都會消失了。基於效能的考慮,我們可以對它進行改造,使用SpringCloud Stream進行訊息傳遞

Linux學習筆記-Linux常用命令-搜尋命令

(三)Linux學習筆記-Linux常用命令-搜尋命令 搜尋命令 which(顯示命令所在目錄) find(查詢檔案或目錄) locate(在檔案索引中查詢檔案) updatedb(更新檔案索引資料塊) grep(在檔案中

每天SpringCloud十四:Zipkin使用SpringCloud Stream以及Elasticsearch

在前面的文章中,我們已經成功的使用Zipkin收集了專案的呼叫鏈日誌。但是呢,由於我們收集鏈路資訊時採用的是http請求方式收集的,而且鏈路資訊沒有進行儲存,ZipkinServer一旦重啟後就會所有資訊都會消失了。基於效能的考慮,我們可以對它進行改造,使用SpringCloud Stream進

新手Linux----Linux安裝配置MongoDB資料庫

    最近在學習研究linux,今天就教教大家怎麼在linux上安裝配置MongoDB資料庫 一、安裝步驟     1、下載及解壓     下載完成後用WinSCP複製到/us

Linux系統》之"皮毛系列" Linux系統的常用命令

通過前兩篇文章的介紹,我們知道Linux系統的理念是:一切皆檔案。而檔案,就要涉及到命名規範,如下所示: 1)除了/之外,所有字元都合法 2)有些字元最好不要用,如空格符、製表符、字元@#$&()-等 3)避免使用.作為普通檔名的第一個字元。 4)大小寫敏感 今天我們來

TensorFlow學習筆記—— linux安裝TensorFlow

參照官方文件https://www.tensorflow.org/get_started/os_setup.html 我們可以使用pip來安裝tensorflow 因為依賴python,且有python2與python3之分,所以先安裝virtualenv 可方便得在pyth

LinuxHadoop2以上版本安裝配置

Linux下Hadoop2以上版本安裝配置 對於初學者的我來說,不適用linux命令配置hadoop,所以用的是linux桌面,這是我還不容易配置成功的一次,趕快記錄下來: 確認IP是否設定正常 安裝 VM tools 安裝hadoop 配置環境變數 Ha