Dockerにbashでログインする際、手元の環境のbashrcやvimrcを使って直接ログインしたいということがある。
原理的にはsshの場合と同じやり方でできるだろうということでやってみた。
とりあえず、以下のようなコマンドでローカルのbashrcを使ったログインが可能だ。
(読み込ませているbashrcのPATHは自分の環境のものなので、適宜書き換えが必要。)
docker run --rm -it コンテナ bash -c '/bin/bash --rcfile <(echo -e '$(cat ~/dotfiles/{.bashrc,sh/{sh_function,sh_...
bashやzshではAlt + 左右キーで単語間を移動することができて、個人的にはそれを良く使っているのだけど、vimではデフォルトだとその操作ができなかったりする。
で、ちょっと不便だな、使えるようにならないかなと思い調べてみた。
仕事などで各サーバに入っているvimでの操作を行うことが多いのだが、疲れてくるとうっかりroot権限が必要になるファイルを一般ユーザで開いてしまい、そのまま保存させることができずに再度rootで開き直して再編集する、といったことをよくやってしまう。
で、これをそのまま保存させる方法があるようなので備忘として残しておく。
やり方は単純で、保存する時に以下のようにコマンドを実行してやれば、sudoでroot権限で保存がされる。
(当たり前の話だが、sudo権限がないと行えない操作なのでそこは注意)
ちょっと平文で保有したくないテキストファイルがあったのだけど、opensslとかgpg、mcryptで暗号化するほどの手間は掛けたくないな、と思って少し調べてみたところ、vimではパスワードプロテクトをかけることができるようだ。
暗号化アルゴリズムはPKZip、スワップファイル・メモリ上に展開したデータについては平文らしいけど、お手軽さはそれなりだ(コンソール上で復号化が出来ないため、catする際の使い勝手が悪いが)。
1.暗号化をする
暗号化の仕方は簡単。ファイルを開く際に、以下のように「-x」オプションを付与するか、編集中に「:X」コマンドを実行すればよい。
なお、実際に暗号化...
Linuxのvimでファイルを保存する際、環境によっては編集したファイルと同じPATHに「オリジナルのファイル名\~」というファイルが作られている事がある。
このファイルの保存先、ファイル名は「\~/.vimrc」を編集することで変更する事が可能だ。
「\~/.vimrc」に、以下のように記述する。
:set backup " ファイルのバックアップを有効にする
:set writebackup " 取得するバックアップを編集前のファイルとする(無効化する場合は「nowritebackup」)
:set back...
LinuxやUNIXでファイルの差異を確認するコマンドとしてdiffコマンドがあるが、このコマンドだと2つのファイルの差異しか確認出来ない。
もし3つ以上の複数のファイルの差異を確認したい、vimを利用すると良いだろう。
最近、どうもLinux上ではemacsではなくvimを利用する事が多いのだが、その際に知ったので備忘として残しておく。
vimでは、以下のようにコマンドを実行することでリモート先のファイルをsshプロトコル経由で編集することが出来る。
vim scp://ユーザ名@リモートホスト(IPアドレス)//編集対象のファイル
実際にやってみたのがこちら。
まず、既存のファイル「/work/work/test/test2.sh」の中身を確認後、上記コマンドを実行している。
上記コマンドを実行した結果、/tmpフォルダに編集用の一時ファイルが作成される。
そのファイルを開くかを確認さ...