アーカイブ

‘vim’ タグのついている投稿

vimで正規表現の置換

2009 年 8 月 4 日 コメントはありません

エクセルに貼り付けた日付データが、mm/dd/yyyy形式でエクセルは文字として読み込んでいたところを
どうやって日付にできるかと悩んでいた際に、「自分だったら正規表現でやる」という声が。
確かに、簡単かも。
ただ、正規表現に不安な面もあって….。
とりあえず、以下でうまくいきました。
という念のためのメモです。

1
:'<,'>s/\(\d*\)\/\(\d*\)\/\(\d*\)/\3-\1-\2/gi
カテゴリー: 未分類 タグ:

vim:snippetsEmuが動かずに苦労したこと

2009 年 5 月 30 日 コメントはありません

ひさしぶりに、windowsでの開発に取り組みました。
で、やっぱりvimをインストールして、snippetsEmuのプラグインをインストールしていざ、使おうとしても動かずに。。。。

あきらめきれずに、いろいろとやってみましたが、どうしても難しくてあきらめかけていたところ、そもそも、ファイルの置き場所がまずいのか?という点に気づいていろいろとやってみると、
runtime\after\ftplugin
にはいるべきものを
runtime\ftplugin
に移動すると見事に動きました。

これで、forとかタイプしてTabキーだけで、自動的に補完されます。
とっても便利です。

一応、覚書として

http://www.vim.org/scripts/script.php?script_id=1318

から以下のファイルを取得する
snippy_plugin.vba
snippy_bundles.vba
それぞれ、vim上で開いて、

:source %

これで処理、展開されます。
あらかじめ、 ~/.vim/after/ftplugin/ フォルダを作っておくとよいかも

さらに、以下を.vimrcで設定しておくと便利です

filetype plugin on
" CTRL + Bで設定
let g:snipetsEmu_key=""

カテゴリー: vim タグ:

VimExplorer結構使えます

2008 年 12 月 11 日 コメントはありません

いわゆるwindowsのExplorerのようなものです。
ファイル作成、ディレクトリ作成、リネームなどもできます。
vtreeexplorer.vimとどちらが使いやすいか?
という話もあるかもしれませんが、VIM7で、タブ機能が使えるようになった以上、こちらは、かなりポイント高いかも。

VimExplorer – VE – the File Manager within Vim : vim online

使い方:

  • +f:新規作成
  • +d:新規作成
  • e:編集
  • R:リネーム
  • gt, gT:タブの移動(CTRL+Tabで移動できるようにマップしておくといいかも)
カテゴリー: vim タグ: , ,

keisen.vimという罫線が描けるvimプラグインです

2008 年 12 月 10 日 コメントはありません

文章を打ち込んでいて、テキストの罫線を入れたくなるときに便利です。
keisen.vim(UNIX / 文書作成)

カテゴリー: vim タグ: ,

viでコメントアウトする方法

2008 年 11 月 6 日 コメントはありません

たびたび調べるのに苦労するので、メモ。
ある指定範囲をコメントアウトするのに、
選択した上で、
大文字のI⇒コメント記号( //とか、#とか)⇒ESC
これでコメントが挿入できる。

カテゴリー: 未分類 タグ:

vim: expandtabとか、vim: softtabstopが使えないなぁ!という時

2008 年 8 月 19 日 コメントはありません

vimでソースの頭によく

 /* vim: set expandtab tabstop=2 softtabstop=2 shiftwidth=2 foldmethod=marker enc=utf-8 : */

こう書きますが、どうも設定が反映されていない!ということでよくよく調べたら
http://nanasi.jp/articles/howto/file/modeline.html
で、
そもそも、このモードラインを

set modeline

で、有効にしておかないと使えないということが判明しました。
なんでデフォルトでは使えないのかなぁ。

カテゴリー: 未分類 タグ:

再びvimまとめ(プラグイン)

2008 年 7 月 3 日 コメントはありません

vimをメインで利用する上で、便利プラグインの説明です。
しかも、これで面白いのは、windowsでもlinuxでもいけるものがほとんどだということです。

  • php-doc.vim
  • vtreeexplorer.vim
  • snippetsEmu.vim

。。。説明はのちほど。

カテゴリー: linux タグ:

再びvimまとめ(設定編)

2008 年 7 月 3 日 コメントはありません

vimも.vimrcの設定次第でかなり使いやすいものとなります。
(windows版の場合は、_vimrcを追加・編集すればOkです)
以下は私がやっている例です。
肝となる部分だけ解説です。

シンタックス表示

syntax enable

行番号表示

set number

タブをソフトタブで、実施する

set tabstop=2 softtabstop=2 shiftwidth=2

記号文字の表示がおかしくならないように

set ambiwidth=double

バックアップファイルを作らない

set nobackup

など、

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
" vim:set tabstop=2 enc=utf8 :
syntax enable
set modeline
set number
set tabstop=2 softtabstop=2 shiftwidth=2
set foldmethod=marker
set laststatus=2
" 記号文字の表示がおかしくならないように
set ambiwidth=double
filetype on
filetype indent on
filetype plugin on
colorscheme ron
set nobackup
set enc=utf-8set fileencodings=iso-2022-jp,sjis,euc-jp,utf-8
autocmd FileType php  :set omnifunc=phpcomplete#CompletePHP
autocmd FileType html,javascript :set omnifunc=javascriptcomplete#CompleteJSautocmd Filetype *
        \   if &omnifunc == "" |
        \       setlocal omnifunc=syntaxcomplete#Complete |
        \   endif
"-----------------------------------------------------------------------------"
source ~/.vim/vtreeexplorer.vim
let g:treeExplVertical=1
let g:treeExplWinSize=30
"
source ~/.vim/php-doc.vim
inoremap <c-P> <esc>:call PhpDocSingle()<cr>i
nnoremap <c-P> :call PhpDocSingle()<cr>
vnoremap <c-P> :call PhpDocRange()<cr>
source ~/.vim/php-doc.vim
inoremap <c-P> <esc>:call PhpDocSingle()<cr>i
nnoremap <c-P> :call PhpDocSingle()<cr>
vnoremap <c-P> :call PhpDocRange()<cr>
let g:pdv_cfg_Author   = "HASHIMOTO <hashimoto at vone dot jp>"
let g:pdv_cfg_Copyright= "xxxxx INC.2008 All rights reservied."
" phpファイルの場合 下矢印で文法チェックをする
autocmd FileType php :map <down> <esc>:!clear<cr>:!php -l %<cr>
autocmd FileType php :map <c-E> <esc>:!php %<cr>
" phpファイルの場合 =functionと打ち込むとちょっと便利にfunctionがかける
autocmd FileType php :map! =function //{{{<cr><left><left><del><del>function  {<cr>}<cr>//}}}<up><up><right><right><right><right>
" phpファイルの場合 =varと打ち込むとちょっと便利にvarがかける
autocmd FileType php :map! =var //{{{<cr><left><left><del><del>var <cr>//}}}<up>
"autocmd FileType php :set tabstop=4 softtabstop=4 shiftwidth=4
 
map <f12> <esc>:!php /home/hashimoto/tools/ftp.php %:p 1<cr>
 
map! =vimh // vim: set expandtab tabstop=2 softtabstop=2 shiftwidth=2 enc=utf8 :
map <left> <esc>:bp<cr>
map <right> <esc>:bn<cr>
map <up> <esc>:ls<cr>
 
"
function InsertTabWrapper()
    if pumvisible()
        return "\<c-n>"
    endif
    let col = col('.') - 1
    if !col || getline('.')[col - 1] !~ '\k\|<\|/'
        return "\<tab>"
    elseif exists('&omnifunc') && &omnifunc == ''
        return "\<c-n>"
    else
        return "\<c-x>\<c-o>"
    endif
endfunction
カテゴリー: linux タグ: ,

再びvimまとめ(デフォルト機能)

2008 年 7 月 2 日 コメントはありません

入力モード a
入力モード(挿入)i
閲覧モードESCキー
保存:w
コピー y
ペースト p
アンドゥ u
置換 s

:5,20s/abc/def/g  //5行目から20行目のahhhhhをuhyaaaaに変換するもの。
:s/abc/def/g         //またビジュアルモードで範囲指定をしている場合は、
:%s/abc/def/g      //ファイル全体でやるなら
:%s/^M//g (^MはCTRL+V、CTRL+M) //CR+LFの改行コードの一括

※C オプション(confirm確認しながら、置換するかどうかを選択できる)
改行をなくして連結する(各行末に空白あり) shift + j
改行をなくして連結する(各行末に空白なし) g shift + j
コメントアウト(※繰り返すと消えます!ので、注意が必要です)\x
コメントアウト(確実) CTRL+Vで矩形選択後SHIFT+i // + ESC
これで、ちょっとだけ待つと、矩形全体にコメントが入ります。
マクロ(記録開始):qa aは任意のアルファベット
マクロ(記録終了):q
マクロ(実行):@a aは記録したマクロのキー
畳み込み set fdm=marker
 開く. 大文字だと中も再起的に. zo, zO
 たたむ. 大文字だと外まで再起的に.# zc, zC – close,
 foldの作成.zf
 全部開く.zR
 全体的に1段開く(foldlevel+=1). zr
 全体的に1段閉じる(foldlevel-=1).zm
 全部閉じる(foldlevel=0). zM
php的な畳み込み let php_folding=1あんまりお薦めではありません
インデント >とか、<
コピペ対策自動インデント =
そもそもインデントが崩れないようにコピペする:a

カテゴリー: linux タグ: ,