忍者ブログ
プログラム実験・備忘録
[1] [2]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ヘルプタグ再作成

    :cd $VIMRUNTIME/doc
    :helptags .


PR
折りたたみの種類
manual          マニュアル定義
indent          インデントレ
expr            特殊表現定義
syntax          ファイルタイプ別構文
diff            folds for unchanged text
marker          マーカー定義
現在の折りたたみ方法を表示
:set foldmethod
折りたたみ方法の修正
:set foldmethod=種類名
主なコマンド
zi  :折り畳みの有効無効の切り替え
zf  :折り畳みを作成する
za  :折り畳みの開け閉め
zd  :折り畳みを削除する
※他にも多くあるが覚えきれない。:h fold-commands で調べるべし。
.vimrc で使える環境変数などのメモ
:echo $VIM 
⇒ /usr/share/vim
:echo $VIMRUMTIME
⇒ /usr/share/vim/vim72
:echo $MYVIMRC
⇒ /cygdrive/c/home/user1/.vimrc
:echo $MYVIMRC
⇒ cygwin
jumpリストを表示
jumps

以下のように表示されたとする。
  jump line  col file/line ~
    2     1    0 some text ~
    1    70    0 another line ~
 >  0  1154   23 end. ~
    1  1167    0 foo bar ~
このとき以下のコマンドと動作が成立。
Ctrl-I    :「1167    0 foo bar ~」へジャンプ
Ctrl-O  :「70    0 another line ~」へジャンプ
2  Ctrl-O   :「 1    0 some text ~」へジャンプ
1  Ctrl-I   :「1167    0 foo bar ~」へジャンプ
その他、ジャンプ系
[<Ctrl>I        :カーソルの単語についてカレントファイルだけでなく#include指定ファイルも含めてを検索し該当へジャンプ
[<Ctrl>D        :カーソルのマクロ定義についてカレントファイルだけでなく#include指定ファイルも含めてを検索し該当へジャンプ
:[range] ij[ump] [/]文字列[/]        :カレントファイルだけでなく#include指定ファイルも含めて文字列を検索し該当へジャンプ
:[range] dj[ump] [/]マクロ[/]        :カレントファイルだけでなく#include指定ファイルも含めてマクロ定義を検索し該当へジャンプ
TABやインデント関連コマンド
:set expandtab       :TABキー押下でspaceを入力するモード
:set noexpandtab     :TABキー押下でTABを入力するモード
:set tabstop=4       :TABキーによるspace幅を設定
:%retab              :expandtabモードで利用すると文中全てのTABをspaceへ
:%retab!             :noexpandtabモードで利用すると文中すべtのspaceをTABへ
:%ret                :%retabと同じ
:%ret!               :%retab!と同じ
:set shiftwidth=4    :インデント幅を設定(normalモードで>>や<<でインデントできる)
TAB視覚化
:set listchars=tab:>-
:set list

>-は好きに変更OK
例えば以下のように>とSpaceの組合せも指定できます。
:set listchars=tab:>\
("Space" を "\ " で表現してます。)
vim7では、タブモードでいくつものファイルを開ける。
FirefoxやIE7のタブブラウズのようなイメージ。

これは便利。
今まで複数ファイルを開いていたのよりずっと使いやすいではないか。
もっと早く知りたかった。

コマンドモード
:tabs         タブで開いているファイルのリストを表示
:tabm 0       最初のタブへ
:tabm {i}     i+1番目のタブへ
:tabn         次のタブへ
:tabp         前のタブへ
:tabfirst     最初のタブへ
:tabf {file}  ファイルを新しいタブで開く
:tabc         現在のタブを閉じる
:tabc {i}     i番目のタブを閉じる
:tabo         現在のタブ以外の全てのタブを閉じる
通常モードでの移動
gt            次のタブへ
gT            前のタブへ
{i}gt         i番目のタブへ

キー操作記録(マクロのような感じ。レジスターを利用)
:reg          : 現状の記録内容を表示
qq            : レジスターqに記録開始
q             : 記録終了
@q            : レジスターqの記録を実行
@@            : リピート
"qp           : レジスターqの記録内容をカーソル行に出力
"ayy          : レジスターaに現在の行内容をコピー格納
"add          : レジスターaに現在の行内容を切り取り格納
@a            : レジスターaの記録を実行
:%normal @q   : レジスターqの内容を全行で実行
:normal @q    : レジスターqの内容を現在の行で実行
"=100*100     : レジスター=に計算式を入力。直後にpで計算結果がカーソル位置に入力される。

大文字・小文字変換メモ(lower uuper)
guu     : カーソル行を小文字へ(lower)
gUU     : カーソル行を大文字へ(upper)
guw     : カーソル単語を小文字へ(lower)
gUw     : カーソル単語を大文字へ(upper)
~       : カーソル位置の文字を大文字小文字切替
その他メモ
G      :ファイル内容を表示
gf      : カーソル位置のファイル名を開こうとします。
ga      : カーソル文字のアスキー文字番号を表示
g8      : カーソル文字のutf-8文字番号を表示
ggg?G   : ファイルをrot13で変換
CTRL-A  : カーソル下の数値がインクリメント increment
CTRL-X  : カーソル下の数値がデクリメント decrement
surround.vim
()で囲んだり <p></p>で囲んだりする作業が一気に楽になるプラグイン

プラグインファイル
http://www.vim.org/scripts/script.php?script_id=1697
より入手し、$HOME/.vim/以下へ展開でOK


Old text                           Command     New text
"Hello world!"                  ds"         Hello world!
[123+456]/2                     cs])        (123+456)/2
"Look ma, I'm HTML!"     cs"<q>      <q>Look ma, I'm HTML!</q>
if x>3 {                 ysW(        if ( x>3 ) {
my $str = whee!;         vlllls'     my $str = 'whee!';
ds :Delete surroundings
Old text                  Command     New text
"Hello world!"           ds"         Hello world!
(123+456)/2              ds)         123+456/2
<div>Yo!</div>           dst         Yo!
cs :Change surroundings
Old text                  Command     New text
"Hello world!"           cs"'        'Hello world!'
"Hello world!"           cs"<q>      <q>Hello world!</q>
(123+456)/2              cs)]        [123+456]/2
(123+456)/2              cs)[        [ 123+456 ]/2
<div>Yo!</div>           cst<p>      <p>Yo!</p>w
ys :(Unfortunately there's no good mnemonic for "ys".)
Old text                  Command     New text
Hello world!             ysiw)       Hello (world)!
Hello world!             yssB        {Hello world!}

vimrc に以下を設定
autocmd FileType php let b:surround_45 = "<?php \r ?>"
let g:surround_45 = "<% \r %>"
let g:surround_61 = "<%= \r %>"

その上でPHPファイルの場合
Old text                  Command     New text ~
print "Hello *world!"     yss-        <?php print "Hello world!" ?>
それ以外
Old text                  Command     New text ~
print "Hello *world!"     yss-        <% print "Hello world!" %>
print "Hello *world!"     yss=        <%= print "Hello world!" %>
検索系
/文字列    :文字列を後方検索
?文字列    :文字列を前方検索
*    :カーソル位置の単語を後方検索
#    :カーソル位置の単語を前方検索
%    :対応括弧へ移動
→プラグイン matchit.vim でhtmlタグ間にも対応。
Ctrl-]    :対応関数へジャンプ
→ctagsコマンドでtagsファイルの事前作成が必要
matchit.vimメモ
(1)ダウンロード:http://www.vim.org/script.php?script_id=39
(2)pluginを$HOME/.vim/plugin/へ配置
(3).vimrcに以下を記述
filetype plugin on
(4):helptags ~/.vim/doc
広告
プロフィール
negao (45歳  男性)
土木工学卒でなぜかSEやってます。
最近、残業代も出なくなってツライな・・・
ブログ内検索
カウンター
アクセス解析
[1] [2]
Powered by ニンジャブログ  Designed by ゆきぱんだ
Copyright © するのは失敗、何もしないのは、、、 All Rights Reserved
忍者ブログ / [PR]