⌨️

僕は vscode が無いと生きていけないので vimmer にもなろうと試みています。

2022/07/10に公開

使ったことがない vim コマンドを
現在使用中の vscode ショートカットに置き換えて考えてみる

この記事を見るのにオススメな人

  • プログラミング初心者
  • vim 初心者
  • vim は知らぬが vscode は知っている者
  • vscode は知らぬが vim は知っている者
  • vscode ショートカットをほとんど知らない者
  • vscode で開発経験がある者
  • 効率化することが好きな者
    • vscode ショートカットが好きな人!!!
    • windows ショートカットが好きな人?

前提

  • OS
    • windows 11
      • vim または vscode が動く環境ならなんでもよいと思っています。

特定の何かじゃなきゃダメ!!みたいなものはないです。
やったことのまとめみたいなものなので。

覚えていないと vim 人生 The End になるコマンド

操作 コマンド
ノーマルモード esc
インサートモード i
一文字削除(ノーマルモード) x
元に戻す(ノーマルモード) u
元に戻すを元に戻す(ノーマルモード) ctrl + r
終了 :q
保存して終了 :wq
強制終了 :q!

vscode / vim 比較表

操作 vscode vim
右に移動 l
左に移動 h
下に移動 j
上に移動 k
ファイルの先頭行に移動 ctrl + Home gg
ファイルの末尾行に移動 ctrl + End G
行の先頭へ移動(インデント無視して先頭へ) Home Home 0
行の先頭へ移動 Home ^
行の末尾へ移動 End $
行番号: 1 へ移動 ctrl + g1Enter :1Enter
半画面分 上へ移動 PgUp ctrl + u
半画面分 下へ移動 PgDn ctrl + d
一画面分 上へ移動 PgUp PgUp ctrl + b
一画面分 下へ移動 PgDn PgDn ctrl + f
段落毎に上へ移動 ctrl + { (関数を閉じる) {
段落毎に下へ移動 ctrl + } (関数を閉じる) }
単語の先頭へ移動 ctrl + b
単語の先頭へ移動(.等を無視) ctrl + B
単語の末尾へ移動 ctrl + e
単語の末尾へ移動 ctrl + E
次の単語の先頭へ移動 ctrl + ctrl + ctrl + w
行を追加 ctrl + Enter o (インサートモードへ移行)
行を追加 ctrl + shift + Enter O (インサートモードへ移行)
行をコピー ctrl + y Y or yy
ペースト ctrl + v p
一行下へ行をコピー shift + alt + Y or yy p
一行上へ行をコピー shift + alt + Y or yy P
行を削除 ctrl + shift + k dd (切り取りで対応)
行を切り取り ctrl + x dd
元に戻す(ノーマルモード) ctrl + z u
元に戻すを元に戻す(ノーマルモード) ctrl + y ctrl + r

後書き(背景にあった事情)

僕の現状について

僕は専門学校を卒業後 IT エンジニアになりました。
約一年半働いて、転職しました。
主な理由は業務でプログラミングがほとんどできなかったこと、会社の雰囲気に耐えらなかったことです。
ここに居続けて得られるもの・失うもの等を考慮して、行動するなら早いほうがいいという決断に至りました。
今の会社の雰囲気はプログラミングができるのはもちろんのこと、会社の雰囲気はとても明るくて、日々成長している感覚があります。
環境が良くなって仕事が毎日楽しいです。

今やりたいこと

前置きが長くなりましたが、今まで web サーバーについてほぼ触れてこなかったため、勉強も兼ねて最近サーバー(新しい自作パソコン)を買いました。サーバーを買ってまでやりたかったことを下に列挙します。

  • docker について勉強しつつ使ってみる
  • 自作サーバーで web サーバーを構築
  • 自作サーバーでポートフォリオサイトを公開
  • Raspberry Piweb サーバーを新サーバーへ移行
  • 現状 Netlify で公開しているものを自作サーバーへ移行
  • GitHub で管理しているソースを自作サーバーで管理
  • 自作サーバーで db サーバーを作成する

記事を書いた動機

記事を書いた当時、サーバー構築をしている段階でした。
プライベートでエンジニアの方に教えてもらいながら仮想マシン作成や、サーバーの環境設定を進めています。
その方は vi やサーバーについての知識が豊富ですごいけれど、vscode については一切知らんとのことでした。
「両方たしなむ程度にはできておいたほうが良いか」とも思ったし、「vim を使える様になれば今より効率も上がりそうだなぁ」と思ったことがきっかけです。

・・・というのが表向きの理由です。
裏の理由はこのエンジニアが知っていることは生きているうちにすべて吸収して絶対に超えておきたいという動機です笑
ここまでご覧いただきありがとうございました!

GitHubで編集を提案

Discussion