HomeBlogVIM の基本操作

VIM の基本操作

Rate this post

VIM Vim,
Vim ,
vivim ,
Vim ,
Vì vậy,
vim チートシート, Vim là một trong những trình biên dịch dòng lệnh phổ biến và mạnh mẽ nhất. Nó chỉ có sẵn trên nền tảng Linux và Unix, nhưng sau đó nó cũng xuất hiện trên Windows.


VIMは軽くて早いソースを編集するソフトです.すべて操作がキーボードで入力できるため,マウス無きで,済むというメリットがあります.VIMの基本な使い方を簡単をご紹介します.

1.モードの切り替え

: Thoát
: tôi, một
: o
trực quan : v , shift+v,ctr+v
2.編集の基本ホットキー

Escを押し,編集モードに入る.
:x
1行消す : đ
nの行消す : ndd 10dd
a行からb行まで消す : a,bd例えば 50から60行まで消したい時 : 50,60d
一行消し,編集モードに入る. :cc , shift+c
:yy
n : nyy 10yy
a行からb行までコピー : a,by例えば 50から60行までコピーしたい時 : 50,60y
:p(小文字)
:shift+p(大文字)
$ : .
:行のスタート一に戻る.
w:一単語の頭文字にジャンプ
e:
b:一単語の前に戻る.
% :相手の括弧に移す
g : 1行目に戻る.
G: .
gj :1行下に移す.
gk: 1行上移す.
n+G(あるいはn+gg) n目の行に移す.
. : .
>>
<
n+>> : n行を右にシフト
3.vim

d :xóa (消す)
w: chữ (単語)
y : giật mạnh (コピー)
c :change (切り替え)
i : nội tâm (中身)
b :back (戻る)
bạn
d+w現在の単語を消す.
c+w 現在の単語を消し,挿入モードに入る.
d+i+{ : {}の 中の分を消す.
c +i +{ :{}の中の分を消し,かつ挿入モードに入る.
.vim

: Thoát ra
tabの幅設定:set tabstop=n (tabの幅)
:đánh số
:đặt shiftwidth=n
5. pluginsのインストール仕方

Tải xuống tệp.vim (từ github hoặc v.v.).
.vimのファイルをコピーし,~/.vim/pluginのフォルダに貼り付ける.

サーバーサイドのエンジニアのを始めて、の方に利用てているいるviS
SiESCviを単なるテキストエディタとして利用している方が多いように感じます。

ちがう。viはそんなんじゃない。矢印キーには画鋲でも貼り付けておけ!!

viの基本的な操作方法を示します。これでエンジニアの生産性が少しでも上がったら幸いです。以下を読んで、へぇ〜って思ったいただけた方は更にもう一歩すすんで、実際 にviを し て 操作 み て ください 「知る」 「「 付ける 」こと が 重要 です!

Nội dung chính:

移動 操作

enの基本操作としては「移動」と「編集」を理解すると生産性が抜群に上がります。
ここではまず「移動」に関する操作を示します。以下はviのEXモード(ESC)で利用する操作になります。

h j k l

S

  • h:
  • j:
  • k:
  • l:

S

enGmailではキーボードショートカットを有効にした場合にスレッド間をj,kS

w b e

S
S


  • w:
  • b:
  • e:
  #   ↓カーソルがここにあるときに
    self.service_enable?('web_host') || self.service_enable?('web')
  # ↑  ↑ ↑`w`を押したときはここ
  # ↑  `e`を押したときはここ
  # `b`を押したときはここ 

W B E

S
S
S

  • W:
  • B:
  • E:
  #   ↓カーソルがここにあるときに
    self.service_enable?('web_host') || self.service_enable?('web')
  # ↑                              ↑ ↑`W`を押したときはここ
  # ↑`B`を押したときはここ          ↑`E`を押したときはここ

0 $

/

  • 0:
  • $:

S0S$?正規表現とかでも行末表すのに$S

/文字列 ?文字列 n N

S

/:

  • n:
  • N:

?:

  • n:
  • N:

この キーバインド はlesslvS

m文字 `文字 '文字

mS
mの 後ろ の文字は大文字小文字アルファベットの52種類を指定することができます。(そんなにいっぱい管理しきれませんが..)

  • `文字は設定したマークまで移動
  • '文字はマークした行のへの移動
  #             ↓この位置で「ma」を押す
        # Returns the plural form of the word in the string.
        #
        #   "post".pluralize             # => "posts"
        #   "octopus".pluralize          # => "octopi"
        #   "sheep".pluralize            # => "sheep"
        #   "words".pluralize            # => "words"
        #   "the blue mailman".pluralize # => "the blue mailmen"
        #   "CamelOctopus".pluralize     # => "CamelOctopi"
        def pluralize
          Inflector.pluralize(self)
        end
  #      ↑カーソルがこの位置にあるときに 「`a」を押すとさっきのマークした位置までジャンプ!
  #       「'a」を押すとマーク行の先頭までジャンプ!!

(バッククォートとシングルクォートがそれぞれどっちの意味だったかいつも分からなくなります.. /思い出し方を教えてください。)

+移動操作

S

                      # ↓ここにカーソルがあるときに
select device_id from iphone_devices where customer_id=1;
                             # ↑`7l`を押すとここへ移動
        # Returns the plural form of the word in the string.
        #
        #   "post".pluralize             # => "posts"
        #   "octopus".pluralize          # => "octopi"
        #   "sheep".pluralize            # => "sheep"
        #   "words".pluralize            # => "words"
        #   "the blue mailman".pluralize # => "the blue mailmen"
        #   "CamelOctopus".pluralize     # => "CamelOctopi"
        def pluralize
          Inflector.pluralize(self)
        end
     #   ↑カーソルがこの位置にあるときに `10k`を押すと「# Returns 〜」の行まで移動

2つ目の例はいちいち何行分か数えるくらいならマークを使ったほうが楽です。

編集 操作

enの基本操作「移動」「編集」の後編、「編集」についてです。

i

chènのiS

a A

NốiのaS

  • a: 1つ後ろから入力するモードに遷移する
  • A:

o O

行を挿入する操作です。(Mở dòng trốngのo)
SiSoS

  • o:
  • O:

c cc

thay đổicS

  • c: (詳細は後述)
  • cc:

r

thay thếのrSr1文字で置き換えます。
EXモードのままとなります。

s

thay thếsS
r1文字でしたが、sS

3sS

x

EXモードのままとなります。
3xS

d dd

XóaのdS

  • d: (詳細は後述)
  • dd:

3dd(rồi .)

y yy

giật mạnhyS

  • y: (詳細は後述)
  • yy:

3yy(rồi .)

p P

DánのpS
kéo dàiどもクリップボードに入っており、それらのうちいずれか最新のものをペーストします。

  • p:
  • P:

+

S

c +

Thay đổi không bao giờ thay đổi

  • cw:
  • c3w: 3つ先の単語の先頭までを削除して入力するモードへ遷移する
  • c$:
  • c/文字列:

d +

Delete操作の対象を移動操作で指定します。以下は一例です。

  • dw:
  • d'文字:

例えば、関数定義をまるっと移動させたいときに、「関数が1,2,3,…,10行あるからd10j!」なんていうことはせず、mad'aS

y +

giật mạnh

  • yw:
  • y'a:

bạn là ai

.

S

xrEXモードから直接の編集操作や、isScwなどの入力モードに遷移てからESCEXモードに戻ってくるまでの編集操作を再現してくれます。

例えば、下記のように「末尾にカンマつけ忘れた!!」といううっかりさんは、

  • A,を入力して末尾にを挿入
  • ESCを押して入力モード一旦終了
  • あと はj.j.j.j.と 入力

「末尾にカンマを挿入」という編集操作を繰り返し実行することができます。

  CSV_COLUMNS = [   # ↓このへんにカーソルがあるときに`A,ESC`で末尾にカンマを挿入
    app.users.tag_import_columns.number
    app.users.tag_import_columns.target_column      # `j.`で下に移動しつつ繰り返し操作
    app.users.tag_import_columns.target_value       # `j.`で下に移動しつつ繰り返し操作
    app.users.tag_import_columns.tag                # `j.`で下に移動しつつ繰り返し操作
    app.users.tag_import_columns.memo               # `j.`で下に移動しつつ繰り返し操作
  ]

「あー、そういえばngười dùngじゃなくてthiết bịだった..」といううっかりさんは、

  • /usersngười dùng
  • cwdeviceと入力して正しい文字列に編集
  • ESCを押して入力モード一旦終了
  • あと はn.n.n.n.と 入力

とすることで「người dùngをthiết bịに変換」という編集操作を繰り返し実行することができます。

      # ↓このへんにカーソルがあるときに`/users`で単語検索
  CSV_COLUMNS = [
      # ↓この位置に移動するので`cw`してusersを削除し、devicesに編集
    app.users.tag_import_columns.number,
    app.users.tag_import_columns.target_column,    # `n.`で次のusersを検索しつつ繰り返し操作
    app.users.tag_import_columns.target_value,     # `n.`で次のusersを検索しつつ繰り返し操作
    app.users.tag_import_columns.tag,              # `n.`で次のusersを検索しつつ繰り返し操作
    app.users.tag_import_columns.memo,             # `n.`で次のusersを検索しつつ繰り返し操作
  ]

Xem thêm:  Vì sao trên muôi xới cơm thường có chấm tròn trên bề mặt? Công dụng thực sự khiến nhiều người phải bất ngờ
Hoàng Minh Hảihttp://meeypage.com/tin-tuc
Hoàng Minh Hải là người sáng tạo nội dung, mọi nguồn nội dung được dẫn lại từ các tạp chí, Hoàng Minh Hải là chuyên gia công nghệ có kiến thức về VPS, website, SEO và các lĩnh vực khác như tên miền hosting
RELATED ARTICLES

Bài Viết Liên Quan