Editor」カテゴリーアーカイブ

viで文字列を検索する方法

検索コマンド

viで文字列を検索したい場合は

:/パターン

もしくは

:?パターン

というコマンドで検索できます。

/?の違いはカーソル位置から下方向に検索するか上方向に検索するかです。
次の候補までジャンプしたい場合はn、1つ前の候補に戻りたい場合はNで移動できます。

正規表現で検索

正規表現での検索もできます。

:/:?に続けて検索したいパターンを入力するところは同じですが、()|などの記号を使う場合は\に続けて入力するところに注意してください。

:/\(パターン1\)\|\(パターン2\)

\でエスケープしたくない場合は\vを使う方法もあります。

:/\v(パターン1)|(パターン2)

大文字小文字を無視

検索で大文字小文字を無視したい場合は

:set ignorecase

で設定できます。

Emacsで編集中のファイルのパスが知りたい場合

Emacsで編集中のファイルのパスが知りたい場合はbuffer-file-nameを使うと表示できるみたいです。

具体的には、編集中のファイル中のどこかに

(buffer-file-name)

と入力して、)のとなりでC-x C-eと入力するとファイルパスが表示されます。

.emacs

毎回(buffer-file-name)と入力するのが面倒な場合は.emacs

(defun show-file-name ()
  (interactive)
  (message (buffer-file-name)))
(global-set-key "\C-cz" 'show-file-name)

を追加すれば、M-x show-file-nameもしくはC-c zの入力でファイルパスを表示できるようになります。

リンク

emacs – The function to show current file’s full path in mini buffer – Stack Overflow
https://stackoverflow.com/questions/3669511/the-function-to-show-current-files-full-path-in-mini-buffer

EmacsとVimでテキストの幅を設定

EmacsやVimでテキストを入力する際、1行の文字数が一定値を超えると自動で改行される機能がデフォルトで設定されています。改行までの文字数を設定したい場合や無効に設定したい場合は次のように設定すると良いそうです。

Emacs

M-x set-variableと入力した後

fill-column

に設定したいテキストの幅を入力します。

.emacsで設定する場合は

(setq-default fill-column 100)

などできるようです。

無効にする場合は

(auto-fill-mode -1)

Vim

次を入力します。

:set textwidth=100

100の部分は改行するまでの文字数です。

textwidth=0とすることで無効にも設定できます。

こちらも.vimrc

set textwidth=100

と書くことで初期値として設定できます。