vimの基本操作について

今回、前回に続いてvimの基本的な操作について紹介していきたいと思います。

vimの起動方法

terminalにてvimと入力

$ vim 

下記の画像のようになればOK
※画像はNeoVimです

大体は下記の順番で操作します。
基本的には各種モードに入る

escでモードの終了

基本動作のコマンドを行う


各種モード
モード コマンド
INSERT i
VIEW view(terminalで)
Command : or /
Visual v
visual block mode ctrl + v

ecsでモードの終了

基本動作
移動
内容 コマンド
↑移動 k or ↑
↓移動 j or ↓
→移動 h or →
←移動 l or ←
ファイル操作
内容 コマンド
名前をつけて保存 :w ファイル名
上書き保存 :w
編集終了 :q
保存しないで編集終了 :q!
保存して終了 :wq
保存して終了 :wq
コピペ
内容 コマンド
1行コピー yy
下にペースト p
現在行にペースト P
2行コピー 2 yy
Repeat .
削除関連
内容 コマンド
1文字削除 x
1行削除 dd
単語の削除 dw
2行削除 2 dd
Undo u
Undo redo ctrl + r
コマンドモード関連
内容 コマンド
コマンドの実行 !python /xxx/xxx.py
前コマンドの実行 !!
移動関連
内容 コマンド
行番号の表示 :set number
10行目に移動 :10
行末に移動 $
先頭に移動 0
インデントの先頭に移動 ^
段落ごとに上に移動 {
段落ごとに下に移動 }
セクションごとに上に移動 [[
セクションごとに下に移動 ]]
ファイルの先頭に移動 :1 or gg
ファイルの最後に移動 G
移動前に戻る ctrl + o
検索、置換
内容 コマンド
検索 /見つけたい文字
次の検索結果に移動 n
前の検索結果に移動 N
置換 R
単語削除 dw
一括置換 :%s/検索文字/置換文字/g
部分置換 :%s/検索文字/置換文字/gc
Visualモード関連
内容 コマンド
選択行の下に空白を入れ、インサートモード o
選択行に空白を入れ、インサートモード O
行連結 J
右にインテントを移動 >
左にインテントを移動 <
行を選択 j or k
先頭に挿入する場合 :norm I # or //
行末に追加の場合 :norm A # or //

以上!基本操作についてでした!
是非練習して使いこなしてみましょう!

web技術の基本を学ぶ

表題の通りここではweb技術の基本について、いくつかの用語を紹介したいと思います。


リクエスト(request)
クライアントからサーバーに対する要求


レスポンス(response)
サーバーからクライアントに対する応答


通信プロトコル(Communicationsprotocol)
クライアントとサーバーがどのように情報をやりとりするかの取り決め
つまり、ルールや規約の集合体


ステートフル(stateful)
ステート(state):状態や状況
フル(ful):〜に満ちた
上記から状態を維持することを意味します IT用語では前回の状態、情報を保持しその情報によって結果が変わってきます

例えば、某ショッピングサイトにて購入したい商品を探したとします。
その際に閲覧した商品の情報が閲覧履歴に残ったり、ショッピングカートに商品を一時保存しておいたりできる機能が備えつけられています。
これらの機能は、前回のユーザーの操作情報を保存しておき、後でその情報を活用することで、より便利な状態を維持することを可能にしています。
つまり、各リクエストが前回の状態や情報に依存し、サーバーは前回の操作に基づいて応答を生成します。
以上がステートフルになります。

ステートレス(stateless)
ステート(state):状態や状況
レス(less):不足している、乏しい
上記から状態を維持しないことを意味します IT用語では前回の状態や情報を保持せず、その情報によって結果が変わることはありません。

例えば、Webページを閲覧する場合を考えてみましょう。
ウェブサイトの閲覧中にページを移動したり、別のリンクをクリックしても前回のページ遷移や操作の情報を保持せず、前回の状態や情報に依存していませんよね。
つまり、各リクエストが独立しており、それぞれのリクエストに対してサーバーは新たな応答を生成します。
以上がステートレスになります。

クッキー(Cookie
ウェブサーバーにアクセスする際、自分のコンピューターに保存される小さなテキストファイルをクッキーと言います。クッキーには様々な情報が記録されます。
ここでステートフルについて思い出してみましょう。
ステートフルは前回の状態や情報に基づいて応答を生成という性質を指します。この前回の状態や情報はこのクッキーによって保存されます。 つまり、クッキーはユーザーの情報を記録し、個々のユーザーに適応した情報やサービスを提供することを可能にする

ポート、ポート番号
ポート:データが入ってくる場所を示します。
ポート番号:0~65,535までの数字で表されるポート
※同じポートは複数のアプリケーションが使用されることはできない

代表的なプロトコルで使用されるポート

ポート番号 プロトコル
TCP 20 FTP (データ)
TCP 21 FTP (制御)
TCP 22 SSH
TCP 23 Telnet
TCP 25 SMTP
UDP 67 DHCP(サーバ)
UDP 68 DHCP(クライアント)
TCP 80 HTTP
TCP 110 POP3
UDP 123 NTP
UDP 53 DNS
TCP 443 HTTPS
WELL KNOWN PORT NUMBERS 0~1023

以上、用語の紹介でした!

Vimの導入について

まずvimと聞いて『知っているけどやったことない』『なんだか難しいそう』等で敬遠してきた人も多いのではないでしょうか??
確かに出来るまでに時間が掛かったり、変わったコマンドの使い方をするので慣れるまでに時間が掛かります。ですが、覚えてしまえば高速かつ効率にファイル編集等ができるようになります!

今回このブログでは表題の通りvimの導入について紹介していきたいと思います。

まずは導入する上でのメリット / デメリットから

メリット
* 様々な操作をコマンド可能
* 拡張性が高い
* 動作が軽量
* Linuxであれば大体Vimが入っている

デメリット
* 慣れるまでに時間がかかる

デメリットが大きく感じますが、慣れてしまえば多分他のを使えなくなるくらい
ハマってしまうと思います!


では導入に入りましょう!
導入は本当に簡単かつすぐにできます!!
※筆者のPCはMac M1になりますのでご注意ください。

  1. まずターミナルにてvimのinstallを行いましょう
    ※Homebrewを使いますので事前にHomebrewのインストールは行っておいて下さい
$ brew install vim
$ vim --version

versionが返って来れば完了です

以上、導入編終了! 『vimの基本操作について』に続きます。