viコマンド & 1人レトロ
昨日のvim学習gameはおもしろかった。 ああいうの作る人ってほんとセンスありますね、、、
わたしはもっぱらゲームはプレイする方です。
以前darksoul3にはまって抜け出せなくなったので、最終奥義「PS4本体を売る」で、緊急脱出した経験があります。
メルカリで2万で売れました。
viコマンド学習
qiitaを参考にする
b
で戻るが、ge
でも戻れる。eとgeの連打で行ったり戻ったり!z + enter
で現在カーソル位置を画面基準値にできる!control + f / b / e / y
で画面を上下に行ったり来たり。%
でカッコ、閉じカッコ({}, [], ())へ一気に移動!- という事は、rubyとかプログラム自体はviで書くということ? 通はすごい、、
- 応用すると、
ggVG
で全選択
ciw
はcw
でもいい。1単語を削除してinsertモードにI / A
で行の先頭 / 末尾からinsertS / C
で1行削除後、現在地から末尾まで削除後にinsert
o / O
で現在地の上、下に行を追加してinsertf + 任意の文字
でその行の指定した文字へ移動J / gJ
で行の連結(visualモードで複数選択後)(スペースで区切り入れる / 入れないで連結)control + v
で矩形選択>> / <<
でインデント!r / R
でinsertモードに入らずにrewrite.- 日本語では効かない??
u / U
で大文字小文字化。~
で反転。control + P / N
で単語補完
特殊
- 数字インクリメント
control + a / x
で増やしたり減らしたり control + w s / w v
でwindow分割control + w w
でwindow移動:q
でwindow閉じる
z f
で折りたたみ(v
で選択後)space
で戻す
カーソル位置
control + o / i
で、以前、後のカーソル位置へ移動
検索
/
で検索- 検索後
* / #
で、次 / 後の該当箇所へ- いきなり
* / #
で、現在カーソル上にある単語で次 / 後検索。連打でどんどん移動 - このとき
g* / g#
とすると、部分一致で検索できる(userならuser_nameも当てられる)
- いきなり
AAA\|aaa
なら、AAAまたはaaa^\d
で数字から始まる単語検索ne\+d
でneedヒットv\ne+d
でもneed当てられる。頭に\v付ければ該当箇所に\いらず。\vgo+gle
とか。
- 検索後
置換
:s/old/new/g
で、その行全てを置換:%s/old/new/g
で、そのファイル全体。gc
なら確認を取りながら置換:100,200s/old/new/g
で、100~200行目を置換対象にする
viは合わせ技が得意
yw
で1単語コピー(pで貼り付け)gg/G
でファイルの一番上、下に移動だから、ggvG
で全選択 みたいな。
検索設定周り
- 検索してたら必要になった。
:set number / nonumber
で表示、非表示数字 + G
でその行へ移動
:set ic
で大文字小文字無視検索(ignore case)。戻すのはnoic
- 単純に毎回検索時に
/ignore\c
でも同じ事
- 単純に毎回検索時に
:set hls is
で、全検索ワードハイライト(hign light search)- 解除は
:nohlsearch
- 解除は
コマンド
:!ls
などで、viを起動しながらコマンド打てる:e + control d
でeで始まるコマンド候補を紹介してくれる
保存
:w ファイル名
で、現在ファイルを別名で保存v
で選択後、:
押して、w ファイル名
で、選択部分をファイル保存できる:r ファイル名(TEST)
で、現在のファイルに外部ファイル(TEST)のテキストを読み込む
vimtutor
- 一通り読んだあと、macのvimtutorの続きをやる。最後まで完了。
vimのプラグインをいじる
https://qiita.com/jnchito/items/5141b3b01bced9f7f48f#2-6
- vimrcファイル => run commandの略らしい
ここで、neobundleとvim plugって どっちがいいんだろう?と疑問が湧く。調べてみると、vim plugの方がかなりスターが多かったので、これを使うことにする。
- vim plug install方法を参考にvim plugを入れた。
:PlugInstall
でinstall:PlugStatus
でプラグインの状態の確認:PlugDiff
で前回からのアップデートとの変更点を表示- vim plugは記述が少ないのが、個人的にイケてるおもた。
vimrcをgitで管理
- シンボリックリンク設定 を参考に、gitでのvimrc管理を学習。
mvコマンド
ってmoveだけじゃなかった。。renameの意味もあるらしい。mv ~/.vimrc ~/dotfiles/_vimrc
lnコマンド
でシンボリックリンク設定か。なるほど。ln -s ~/dotfiles/_vimrc ~/.vimrc
これってファイルの実体はどこにあるのかな?~/.vimrcにアクセス来たら~/dotfiles/_vimrcにファイルの実体あるからそっち行ってね、って飛ばしてくれる感じかな。
- おお、リンクができたぞ。vimのプラグインもちゃんと起動した!
Rails向けのvim プラグイン
- 伊藤さんのvim プラグイン設定解説には、「vim-railsでRailsプロジェクトを便利に操作」なんて挑発的なタイトルのプラグイン紹介があって入れたくなるけど、これ系はフィヨルドでそこまで行ってからにしよう。
- とりあえずvimプラグイン入れる経験できたので、とりあえず次すすみます。
UNIX・Linux について知る
- ファイルシステム
- ディスク上のどこに何というファイルがあるのかを管理するための仕組み。DNSみたいなのかな。
- UNIXは、すべてのファイルやディレクトリがルートディレクトリから始まる。
- マウント
- 既存の該当ディレクトリに載っけて動かす
、、、
今日はここまで、明日は続きを。 というか、この「UNIX・Linux について知る」の回、めちゃ長い気がする、、 本だけでも400ページあるがな、、 2~3週間を目処にじっくりやろう
というかこのプラクティスの課題で上がってる、「新しいLinuxの教科書 」 「なか見!」で400ページほぼ全部読めますね。
編集後記:
podcastでrebuildっていうエンジニアの好きな番組があるんですけど、 その中のひろしまさんっていうぼやき担当(個人的に好き)の人がいて、この人が
「作りたいのがないのにプログラミングやりたいとか意味わからない」 って発言してたんですよね。
このフレーズ、ずーっと今までいろんなとこで聞いてきたんですけど、 自分は特に作りたいのないんですよね、、
いや、厳密にいうとあるんですけど、作ろうと思って調べると、すでに世の中にあるんですよ。
「ああ、もうあるのか」ってわかると、途端に作る気がなくなるんですよ、、 そういう人いません?
こういう時、なんとかオリジナル感出そうとしていろいろ考えるんですけど、 作るコスト考えたら、既存のサービス使ったらすぐに目的達成できるやんって思っちゃうんすよ。。
こないだも、会社のサーバーが攻撃食らったって話を聞いたから 「サーバー攻撃がいまどこで起こってるか知れるみたいなサービスがあったらおもろいな。なんなら世界中で!」
なんて思いついて、こういう場合、作るにはなにが必要なのかな〜、 そういう情報発信してるサイトがあって、apiとか提供してないかな〜
なんてワクワクするんですけど、ネットを探すと
すでにあるんすよ。しかも予想をはるかに上回る質で、すでに。
これトラウマで、毎回「何か作ってみたい」って調べると、ほぼ全てすでにあります。
作りたいって感情よりも、「すでにあるなら、それを使えばええがな」「その方が時短やがな」って考えるのは、生粋のエンジニアにはなれないのではないか、、
「特に作りたいのがない」のは、エンジニアになる資格がないのではないか、、
私はずっと悩んでおります。
今日これで悩んで半日おわった(:3 」∠)
追記: 会社が「こういう仕組み欲しい!」って言ってきた時は一気にテンション上がってやる気になります。 問題解決が第一なんですよね。その一点にフォーカスしてます。 ただ、目的を達成するのが目的で、作る過程を楽しむとかじゃないです。達成できたら楽しく思えますけど。
だけど、一緒に仕事してたプログラマの先輩は全く逆でした。過程が楽しくて、結果はあまり気にしてませんでした。
わたし個人としては、この先輩の方がエンジニアに向いてる気がしてならないのです
、、、
なんて、今まで何度も考えてきた事を、ひろしまさんの発言聞いて思い出しました。
もう気持ちの整理はついてるんですけどね(:3 」∠)