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
になりますのでご注意ください。
- まずターミナルにてvimのinstallを行いましょう
※Homebrewを使いますので事前にHomebrewのインストールは行っておいて下さい
$ brew install vim $ vim --version
versionが返って来れば完了です
以上、導入編終了! 『vimの基本操作について』に続きます。