banner
Barry

Barry

偶尔摆烂,经常偶尔.
twitter
github
tg_channel
medium
email
steam_profiles

步入Linux的現代方法

基於Frank's Linux 課程的筆記

0.0 系統的認識#

  • 什麼是系統?
  • 滑鼠能點、鍵盤能輸入東西、閱讀看電影,還可以拓展安裝一些軟體,簡單來說就是人機互動所依賴的東西,開機依賴系統

0.1 Linux 操作系統認識,以及開源的提出:Linux 的千奇百怪的版本#

  • 目前世界上流行的電腦系統:
  • Windows- Bill Gates (比爾・蓋茨)
  • GNU/Linux-Linus Benedict Torvalds (林納斯・托瓦茲)- 開源
  • Unix (Linux 的爸爸)- 湯普遜和里奇合 - 給政府機關、公司等機構付費使用
  • Linux 發行版本:Ubuntu Centos Red Hat Kali ……

0.2 開源的含義#

  • 公开、分享、共同進步
  • 開源不一定免費

0.3 Linux 的用途,各類發行版本#

  • Linux 主要運用在伺服器上
  • Linux 嚴格來說是單指操作系統的內核,因操作系統中包含了許多用戶圖形介面和其他實用工具
    只要遵循 GNU 通用公共許可證(GPL),任何個人和機構都可以自由地使用 Linux 的所有底層源代碼,也可以自由地修改和再發布
    Linux 衍生:
  • Debian—Ubuntu,Deepin,Raspberry Pi OS,Knopix
    Fedora—RedHat,Centos,Moblin
    OpenSUSE—GeckoLinux,openSUSE EcoLab Spin

1.1 Vmware 虛擬機#

安裝系統的方式

  • 實體機

  • 雙系統

  • 虛擬機

1.2 VMware 16#

  • 軟體版本,大多數人追求新版本,企業裡更多需要的是穩定,我們應該根據企業標準去學習,企業要什麼我們學什麼

1.3 關於從 15 更新到 16 的說法#

  • Vmware15 不支持 Ubuntu20.04

    更新版本並不會影響虛擬機的還原

2.1 先嘗試 Ubuntu#

詳見:Linux (Ubuntu) 零基礎體驗教學

PS:查看軟體安裝過執行內容,有助於學習

2.2 VMware Tools#

  • 配置 Ubuntu 鏡像源
  • VMware Tools 安裝
tar zxvf VMwareTools-10.3.22-15902021.tar.gz \
cd vmware-tools-distrib/
ls
sudu ./vmware-install.pl

2.3 Ubuntu 20.04 設置#

詳見 2.1 視頻鏈接

2.4 Linux 其他發行版本的安裝指導#

  • 商業發行版
  • 社區發行版

2.5 下載指導#

  • 從官网下载

3.1 Linux 究竟需要我們學習什麼?——Linux 四大組成部分#

Linux 入門不是學 “Linux”,先體驗各發行版 Linux,比較和其他系統的不同和相同點,Linux 究竟學習的是 Shell

Linux 操作系統四個部分

  • Linux Kernel 內核
  • GNU (“GNU’s Not Unix!”) 工具
  • GUI Desktop 環境
  • Application 應用
  • PS:IT 術語,它並不是遵循通常的英語音標,而是專業術語

3.2 Linux 是命令還是圖形介面?——GUI 是什麼? 那 GNU 是什麼東西?GNU/Linux 和 Linux 有什麼區別?#

Linux 內核基於

  • GUI - 介面

  • GNU - 命令、系統工具

3.3 Linux 內核組成部分#

Linux Kernel

  • 1. 硬體設備的管理
  • 2. 軟體程序 (系統)、操作軟體
  • 3. 系統內存
  • 4. 文件管理

3.4 文件系統#

文件系統就是讀、寫標準

  • Linux 中分區概念 ext ext2 ext3 ext4
  • Windows 磁碟文件管理概念 FAT32 NTFS exFAT

3.5 GNU 核心: coreutils and shell#

GNU 組織
Unix 上具有的一些軟體,Linux 內核本身沒有,所以 GNU 他們模仿 Unix,為 Linux 寫了一些必要的軟體

GNU 核心 Coreutils
指原本在 Unix 上的一些命令和工具,被移植到了 Linux 上,供 Linux 使用的一套工具、coreutilities 軟體包,包括:

  • 用來處理文件的工具

  • 用來操作文本的工具

  • 用來管理進程的工具

  • GNU 核心 Shell

  • 提供給用戶使用的軟體,用戶拿它使用電腦,實現互動

  • 命令行殼層提供一個命令行介面(CLI)

  • 圖像殼層提供一個圖形用戶介面(GUI)

3.6 Shell:CLI 和 GUI,命令和介面#

Shell 類型:bash,zsh,korn,tcsh,oh-my-zsh

3.7 GUI Desktop#

Xwindows,KDE,GNOME,Unity
結束語:經驗介紹
重點在於 Shell
畫思維圖總結 Linux 操作系統關係

4.1 CLI 準備#

  • CLI 相關設置,選擇 Preferences
  • Theme Variant 主題變換
    Open new terminals in 打開一個新終端的方式,Tab 代表在同一窗口下創建新終端,Window 代表開一個新窗口打開新終端
    New tab position 新終端位置,默認為上一次位置
  • 快捷方式設置,Ctrl+Alt+T 打開新終端

4.2 CLI Terminal#

yeats@yeats-virtual-machine:~$
  • 用戶名 @機器名:當前所在目錄 $ 表示等待用戶輸入
  • ~ 表示用戶 home 目錄
  • /home是存放所有用戶文件的根目錄

Settings 中 About 可以查看機器名與相關信息

4.3 搞定 Linux 命令參數,得心應手使用各類命令 —— 授之於漁 先拿 ls 開張#

  • ls命令 用來顯示目標列表,在 Linux 中是使用率較高的命令
  • ls -l 的縮寫就是 ll ,列出當前目錄可見文件詳細信息,輸出的信息從左到右依次包括文件名、文件類型、權限、硬鏈接數、所有者名、組名、大小(byte)
  • man命令是 Linux 下的幫助指令,通過 man 指令可以查看 Linux 中的指令幫助、配置文件幫助和編程幫助等信息

推薦:Linux 命令搜索

Linux 命令搜索

4.4 Linux 根目錄,它們和 Windows 有什麼區別#

  • Windows 盤符,文件目錄 \ 反斜線
  • Linux 一切皆文件,文件目錄 / 斜線

4.5 Linux 根目錄解析,fhs 權威論文,搞定所有的發行版本文件夾分布#

  • / linux根目錄
  • /bin 二進制目錄 GUN 工具 命令
  • /cdrom 光碟
  • /etc 系統配置文件
  • /home 用戶主目錄
  • /lib 庫目錄 存放庫文件
  • /lost+found 當系統發生錯誤時,將一些遺失的片段放置在這個目錄下
  • /mnt 掛載(外在的設備和電腦進行連接)目錄
  • /proc 假文件系統
  • /run 運行目錄
  • /snap 包管理,軟體包安裝管理方式
  • /tmp 臨時目錄
  • /var 可變目錄
  • /boot 啟動目錄
  • /dev 設備目錄
  • /media 媒體目錄
  • /opt 可選目錄
  • /root root 用戶的主目錄 管理員
  • /sbin 系統二進制目錄,GNU 高級管理員使用的命令或工具
  • /srv 服務目錄
  • /usr 用戶二進制目錄,GNU 工具
  • 詳見:FHS 文件系統層級標準

FHS 文件系統層級標準

4.6 cd 命令#

  • cd 進入用戶主目錄
  • cd.. 切換到上一層
  • cd – 返回到上一次的工作目錄。

4.7 Ctrl + C? 拉到吧,在 Linux 上可不是複製#

  • Ctrl+c (kill foreground process) 發送 SIGINT 信號給前台進程組中的所有進程,強制終止程序的執行
  • Ctrl+l 清屏

4.8 絕對路徑#

  • 全路徑 D:\Study\Frank_FuckPPT\Linux

4.9 相對路徑#

  • 不全路徑 \Frank_FuckPPT\Linux

4.10 Linux 上的路徑與 Windows 上的路徑#

  • gedit /Doucument/doc/1.txt 操作根目錄 絕對路徑
  • gedit ~/Document/doc/1.txt 當前目錄 相對路徑
  • gedit ./Document/doc/1.txt 當前目錄 相對路徑
  • gedit Document/doc/1.txt 當前目錄 相對路徑

4.11 如何練習?經驗課#

  • 單點符號。當前文件
  • 雙點符號.. 當前目錄的父目錄

4.12 ls 進階用法:文件夾下各種匹配過濾符號#

  • *號替代多個符號
  • 號替代一個符號
  • -a,,--all 列出目錄中所有文件,包括以 “.” 開頭的文件
  • -l, --format=long,--format=verbose除每個文件名外,增加顯示文件類型、權限、硬鏈接數等信息
  • -F,--classify, --file-type在每個文件名後附上一个字符以說明該文件的類型

4.13 touch 命令#

touch命令 兩個功能

  • 一是用於把已存在文件的時間標籤更新為系統當前的時間(默認方式)
  • 二是用來創建新的空文件

4.14 cp 命令#

  • cp命令 將源文件或目錄複製到目標文件或目錄中
  • 源文件:指定源文件列表。默認情況下,cp 命令不能複製目錄,如果要複製目錄,則必須使用 - R 選項
  • 目標文件:指定目標文件。當 “源文件” 为多個文件時,要求 “目標文件” 为指定的目錄
  • cp 你想複製的文件? 你想複製到哪?
  • -i 覆蓋既有文件之前先詢問用戶
  • -R/r遞歸處理,將指定目錄下的所有文件與子目錄一並處理

4.15 cp 遞歸練習技巧#

pwd 顯示當前工作目錄

cp -R ./*.java ~/Documents/temp/

4.16 Linux 終端光標移動技巧#

  • Tab 自動補全
  • Ctrl + E 跳到行尾
  • Ctrl + B 光標向左移動
  • Ctrl + H 刪除光標前一個字符 相當於退格
  • Ctrl + T 把光標前一個字符往後移動
  • Ctrl + R 搜索之前用過的命令
  • Ctrl + W 刪掉光標前面的內容
  • Ctrl + U 刪掉光標前面的內容
  • Ctrl + K 刪掉光標後面的內容

4.17 lnk 鏈接文件的介紹#

  • .lnk 快捷方式

  • Linux 鏈接文件

  • 1. 符號鏈接 (軟鏈接)

    指快捷方式 原來的文件 / 文件夾必須存在

  • 2. 硬鏈接

    指副本 原來的文件 / 文件夾必須存在

4.18 符號鏈接和硬鏈接#

  • ln命令 用來為文件創建鏈接,鏈接類型分為硬鏈接和符號鏈接兩種,默認的鏈接類型是硬鏈接。如果要創建符號鏈接必須使用 "-s" 選項
  • ln 原文件名 鏈接的文件名
  • ls -l 查看
  • 軟鏈接:有指向,是一個單獨的文件,不同介質
  • 硬鏈接:無指向,同一介質
  • 軟鏈接複製的是鏈接文件

4.19 注意事項#

  • 符號鏈接 Symbolic links
  • 軟鏈接 Soft links

4.20 mv 命令#

  • mv 命令 用來對文件或目錄重新命名,或者將文件從一個目錄移到另一個目錄中
  • 做重命名,mv 重命名誰 命名成什麼

4.20 移動和騷操作#

  • 做移動,mv 移動的文件 移動到的目錄
  • 輸入完之後,cd !$
  • !$ 是列出並執行你的命令歷史裡面最近的一條記錄

4.21 rm—— 最佳年度刪庫跑路#

  • sudo rm -rf /* 該命令極度危險
  • rm 命令可以刪除一個目錄中的一或多個文件或目錄,也可以將某個目錄及其下屬的所有文件及其子目錄均刪除掉。對於鏈接文件,只是刪除整個鏈接文件,而原有文件保持不變
  • rm -i 有提示
  • rm -i -rf 無提示
  • 注意: linux 沒有回收站

4.22 創建文件夾以及刪除文件夾#

  • mkdir 用來創建目錄
  • rmdir 用來刪除空目錄

4.23 文件類型#

  • file用來探測給定文件的類型
  • Windows 文本是 txt
  • linux 文本是 text

4.24 cat ,more ,less#

  • cat 連接多個文件並打印到標準輸出,適用於短文本
  • -n, --number 對所有行編號,從 1 開始編號
  • more 顯示文件內容,每次顯示一,以全屏方式顯示
  • b 上一頁 space 下一頁 q 退出
  • less分屏上下翻頁瀏覽文件內容
  • less命令允許用戶向前或向後瀏覽文件,而more命令只能向前瀏覽。
  • less命令顯示文件時,用 PageUp 鍵向上翻頁,用 PageDown 鍵向下翻頁。要退出 less 程序,應按 Q 鍵
  • 瀏覽文件中輸入 / 用於搜索

4.25 tail 和 head 命令#

  • tail 在螢幕上顯示指定文件的末尾若干行

    tail -n 2 demo.c
    
  • head 顯示文件的開頭部分

    head -n 2 demo.c
    

5.1 任務管理器#

  • 進程、性能、用戶、服務
  • 服務:監測用戶行為,為用戶服務

5.2 ps 和 top 命令#

  • top 可以實時動態地查看系統的整體運行情況,是一個綜合了多方信息監測系統性能和運行信息的實用工具
  • ps (process status) linux 最複雜的命令之一,是最基本同時也是非常強大的進程查看命令,使用該命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程佔用了過多的資源等等,總之大部分信息都是可以通過執行該命令得到的
  • ps axo pid,comm,pcpu # 查看進程的 PID、名稱以及 CPU 占用率
  • ps -aux | grep named # 查看 named 進程詳細信息

5.3 kill 命令#

配合ps -aux | grep named # 查看 named 進程詳細信息
kill pid 殺死進程

5.4 掛載的含義#

詳見:linux 掛載的作用 (https://blog.csdn.net/qq_35583154/article/details/86569903)

插入新硬碟,分了新磁碟區 sdb1,但它現在還不屬於 /,把新硬碟的區 sdb1 掛載到工作目錄的 / Share / 文件夾下,之後訪問這個 / Share / 文件夾就相當於訪問這個硬碟的 sdb1 分區了,對 / Share / 的任何操作,都相當於對 sdb1 裡文件的操作

5.5 mount#

  • mount 用於掛載 Linux 系統外的文件
  • /mnt 為自動掛載點
  • sudo fdisk -l 查看硬碟及分區信息
  • sudo mount /dev/sdc1 /mnt
  • sudo umount /mnt
  • 自動掛載的目錄不能卸載

5.5 掛載的意義 —— 嘗試使用 U 盤?自動播放黑客惡意?#

  • 企業裡不自動掛載,防止惡意播放腳本 auto 病毒

5.6 安卓設備連接掛載#

  • 安卓鏈接協議 (SMB) 掛載路徑 /run/suer/1000/gvfs

5.7 df 和 du#

  • df 用於顯示磁碟分區上的可使用的磁碟空間。默認顯示單位為 KB。可以利用該命令來獲取硬碟被佔用了多少空間,目前還剩下多少空間等信息
  • h--human-readable:以可讀性較高的方式來顯示信息
  • du 也是查看使用空間的,但是與df命令不同的是 Linux du 命令是對文件和目錄磁碟使用的空間的查看,還是和 df 命令有一些區別的

5.8 sort 命令#

  • sort 對文本文件中所有行進行排序
  • 默認對每一行第一個字符排序,並展示出來,並不會改變原來的文件
  • -n--numeric-sort 根據數字排序
  • -M--month-sort 按照非月份、一月、十二月的順序排序
  • -r--reverse 將結果倒序排列

5.9 grep 基礎認識、搜索文件#

  • grep (global search regular expression(RE) and print out the

    line,全面搜索正則表達式並把行打印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來

  • grep 543 ~/Templates/1.txt

5.10 打包、壓縮、歸檔、解壓縮 它們究竟區別在哪?#

  • tar 打包、壓縮
  • tar -cvf 1.tar 1.txt 僅打包,不壓縮
  • tar -zcvf 1.tar.gz 1.txt 打包後,以 gzip 壓縮
  • tar -zxvf /opt/soft/test/1.tar.gz 將 tar 包解壓縮

6.1 父子 shell 的概念#

  • bash
  • ps-f
  • ps –forest

6.2 分號在命令裡有什麼作用#

  • 命令之間帶分號 ; 依次執行
  • 創建一個子 shell 去執行

6.3 sleep 和 jobs#

  • sleep 將目前動作延遲一段時間 ,後面可接 s 為秒,m 為 分鐘,h 為小時,d 為日數

    掛在後台,如果要幹掉,則用kill命令

  • jobs 顯示作業的狀態,-l 在作業信息中額外的列出 PID

6.4 後台#

  • 後台執行 tar -zxvf ……;&

6.5 coproc 協程#

  • Liunx 協程處理命令。協程可以同時做兩件事。在後台生成一個子 shell,並在子 shell 中執行命令
  • coproc sleep 10
  • coproc frank_av{ sleep 10; sleep 300;}
  • 一定要分號結尾,大括號內空格

6.6 外部命令和內建命令#

  • Shell 執行的命令可以分為內建命令(built-in)和外部命令(external) 前者是構建在 shell 內部
  • 後者是一個獨立的文件(可以是二進制文件,也可以是一個腳本) 內建命令由當前 shell 本身來執行,例如 echo, cd 等等
  • 外部命令的執行 shell 進程會 fork 一個子進程,父進程隨後掛起,然後在子進程中 exec 加載外部文件,子進程返回後,父進程才繼續執行

6.7 alias 別名#

  • alias 定義或顯示別名。
  • type 顯示指定命令的類型。
  • alias li=’ls -li’
  • 但是關閉當前 shell 就不能用了

7.1 什麼是環境變量?徹底搞清楚究竟什麼是環境變量!!!!!#

  • 環境變量(environment variables)一般是指在操作系統中用來指定操作系統運行環境的一些參數,如:臨時文件夾位置和系統文件夾位置等
  • 文件夾寫入的環境變量,意味則可以在任何位置訪問該文件夾,相當於告訴系統這個目錄在哪裡

7.2 全局環境變量和局部環境變量#

  • windows: 系統變量與用戶變量
  • linux: 全局環境變量和局部環境變量
  • 全局環境變量printenv
  • printenv USER
  • echo $USER
  • cd $HOME

7.3 用戶和局部變量的定義#

  • 局部變量只能在當前 shell 執行,子 shell 或者退出後就不能用了
  • 注意 定義局部變量不要大寫
  • 全局變量用大寫,下劃線命名法

7.4 定義全局變量#

  • export 為 shell 變量或函數設置導出屬性。
  • 可以子 shell 裡執行,但關閉後仍失效

7.5 默認的環境變量#

  • set

7.6 為啥要用環境變量#

  • 配置開發環境需要使用
  • 臨時環境變量
  • PATH=$PATH:/home/yeats/Templates/

7.7 永久配置環境變量?#

  • 啟動文件:開機的時候默認執行的環境變量

  • bash shell

  • 1 登錄 shell

  • 2 非登錄就打開 shell

  • 3 運行腳本非交互 shell

  • cat /etc/profile

  • ~/.bashrc

  • ~/.bash_profile

  • ~/.profile

  • ~/.bash_login

  • cat bashrc

  • 加入全局環境變量 (需學習 vim)

8.1 PMS 系統和軟體安裝的介紹#

  • PMS Package Management System
  • 解決工具依賴問題
  • apt install
  • apt-get install
  • apt-cache
  • aptitude(已淘汰)

8.2 安裝、更新、卸載#

  • apt -h
  • 更新 sudo apt update
  • 升級 sudo apt upgrade
  • 卸載 sudo apt remove oneko

8.3 其他發行版本?#

8.4 安裝第三方軟體案例:例如 github 開源軟體的指導#

9.1 用戶權限的含義和作用#

  • 用戶與權限
  • 不可能讓所有人有所有的權限 - 不安全
  • 避免被入侵
  • 用戶 ID UID
  • 系統用戶 UID<500
  • cat /etc/passwd
  • sudo cat /etc/shadow

9.2 創建、刪除、更改用戶#

  • 創建sudo useradd user1
  • 刪除sudo userdel user1
  • 更改密碼sudo passwd user1
  • chage 修改帳號和密碼的有效期限

9.3 group#

  • linux 組 groups

    目的 :共享資源的權限

  • tail /etc/group

  • ubuntu 不允許把所有用戶納入一個組,而是每個用戶都有一個單獨的組

  • sudo groupadd groupfrank

  • sudo groupdel groupfrank

9.4 文件、文件夾權限#

rwx 文件所有者(Owner)組創始人的權限
r-x 用戶組(Group)組下屬成員權限
r-x 其它用戶(Other Users)其它組成員權限

詳見:Linux chmod 命令(Linux chmod 命令 | 菜鳥教程 (runoob.com)

9.5 chmod 命令#

  • usermod命令 用於修改用戶的基本信息。
  • usermod 命令不允許你改變正在線上的使用者帳號名稱。
  • usermod 命令用來改變 user id,必須確認這名 user 沒在電腦上執行任何程序

附上:vi/vim 鍵盤圖#

vi/vim 鍵盤圖

10.1 編輯器簡單介紹:vim 編輯器之神; emac 神之編輯器#

  • emacs - 神之編輯器
  • vim - 編輯器之神
  • Vim 是從 vi 發展出來的一個文本編輯器。代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被廣泛使用。和 Emacs 並列成為類 Unix 系統用戶最喜歡的編輯器
  • vi 編輯器通常被簡稱為 vi,而 vi 又是 visual editor 的簡稱 。它可以執行輸出、刪除、查找、替換、塊操作等眾多文本操作,而且用戶可以根據自己的需要對其進行定制,這是其他編輯程序所沒有的
  • Vim 是 vi 的加強版,比 vi 更容易使用。vi 的命令幾乎全部都可以在 vim 上

10.2 vim 的簡單使用方式#

  • 安裝 vim
  • sudo apt install vim

vim 工作模式,國外一般認為兩種模式#

  • 普通模式 (命令操作模式):操作文件

  • 插入模式:編輯

  • 編輯模式到普通模式:ESC

國內一般認為三種模式#

  • 一般命令模式:簡稱一般模式,也是最先進入的工作模式,輸入 vi + 文件名可直接進入一般命令模式,在此模式下可進行文本內容的查看、複製、刪除、替換等功 能。當不能輸入相關文本內容

  • 編輯模式:在一般模式下,輸入 i 或 o 或 a 進入編輯模式,在此模式下可輸入文本內 容。當輸入 i 時,工作介面如圖所示,只有此時狀態才可以輸入文件內容。輸 入完成後,可單擊 ESC 鍵退出編輯狀態,進入一般模式

  • 命令行模式:在一般模式下,輸入:或 / 或?進入命令行模式,在此模式下可輸入相關命令當輸入:wq 此時命令表示保存退出命令,單擊回車鍵,自動保存文件,並退 出 vi 編輯器或者單擊 ESC 鍵,重新返回一般模式

三種工作模式關係如圖所示#

VIM 三種工作模式關係

vim 編輯器的退出,一般分三種情況#

  • :q 表示不保存退出
  • :wq 保存退出
  • :q!強制退出,此時也不保存文件

10.3 移動光標#

  • 上:k
  • 下:j
  • 左:h
  • 右:l
  • 下一行:b
  • 上一行:w
  • 查找上一處字符:N
  • 查找下一處字符:n

10.4 翻頁#

  • 上翻頁 (BACKWARD):ctrl+B
  • 下翻頁 (FORWARD):ctrl+F
  • 上滾:ctrl+E
  • 下滾:ctrl+Y
  • 移動到最後一行:G 或者shift+g
  • 移動到第一行:gg

10.5 不同方式編輯文本、跳躍單詞操作技巧#

  • i光標位置的前面插入
  • a 光標位置後面的插入
  • o 直接 enter 到下一行
  • x 刪除光標所在字符
  • dd 刪除整個一行
  • u 撤銷
  • dw 移除當前所在光標往後到單詞
  • b 跳躍單詞首字母
  • e 跳躍單詞最後
  • w 跳躍單詞 先跳躍到單詞首字母,然後跳躍到單詞最後
  • shift+w ;shift+b大跳

10.6 跳躍行首行尾技巧#

  • shift+6 或者0 跳躍到本行到開頭
  • shift+4 跳躍到本行末尾

10.7 大括號跳躍函數段落技巧#

  • {}跳躍大括號

10.8 vim 複製剪切粘貼#

  • p粘貼
  • yw複製一個單詞
  • y$ 從當前開始往後複製到行末尾

10.9 Visual 可視化模式#

  • v 選擇文本
  • V 選擇行
  • v G 全選
  • ctrl+v矩陣選擇
  • o切換文本首尾
  • vaw快速選擇單詞
  • vab包括括號
  • vaB包括大括號
  • va< 包括尖括號

10.10 视图模式其它技巧#

  • v shift+<往左縮進
  • v shift+>往右縮進
  • shift+~或者shift+u shift+U大小寫轉換

10.11 查找和替換#

  • 查找 /
  • 按 n 查找下一个
  • :s /const/let/g 一行 const 替換成 let
  • :%s /const/let/g 所有 const 替換成 let
  • set number 臨時顯示行號
  • :9,15s /const/let/g 9-15 行 const 替換成 let
  • :%s /const/let/gc 有提示的替換

10.12 vim 的基礎配置#

  • touch .vimrc
  • vim .vimrc

將以下代碼寫入.vimrc 中

set syntax=on
set tabstop=4
set softtabstop=4
set number
set enc=utf-8
set showmatch
  • source .vimrc
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。