Vim Part25 [転載禁止]©5ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2015/03/30(月) 20:04:42.55http://www.vim.org/
前スレ
Vim Part24
http://peace.2ch.net/test/read.cgi/unix/1413122189/
関連情報は>>2-6あたり
0106名無しさん@お腹いっぱい。
2015/04/20(月) 20:14:24.11カッコが英数字なら、https://github.com/tpope/vim-surroundをいれて、
内側のカッコのどこかにカーソルを合わせて、va(S)でいける。
カッコが日本語の場合はわからん。
0107名無しさん@お腹いっぱい。
2015/04/20(月) 21:09:11.81ありがとうございます。
残念ながら日本語の全角のカッコです…
0108名無しさん@お腹いっぱい。
2015/04/20(月) 21:25:24.75surround.vimで設定すればマニュアルより多少楽にはなるがなぁ
0109名無しさん@お腹いっぱい。
2015/04/20(月) 21:30:06.10わかんねえけど無いってことはほしい奴が少ないんだろうな
無きゃ作るしかねえべ
0110名無しさん@お腹いっぱい。
2015/04/20(月) 21:57:59.89一旦全部の全角カッコを半角カッコに置き換えてからやれば行けそうな気がしてきました。
0111靖国参拝、皇族、国旗国歌、神社神道を異常に嫌うカルト
2015/04/20(月) 22:18:11.68・沢山の人が偏った意見を一貫して支持する
偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法
・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法
偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い
10人に一人はカルトか外国人
「ガスライティング」で検索を!..
0112名無しさん@お腹いっぱい。
2015/04/21(火) 21:16:47.31http://www.soumu.go.jp/senkyo/kokumin_touhyou/index.html
☆ 日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、改憲の参議院議員が
3分の2以上を超えると日本国憲法の改正です。皆様方、必ず投票に自ら足を運んでください。
私たちの日本国憲法を絶対に改正しましょう。☆
0113名無しさん@お腹いっぱい。
2015/04/21(火) 21:31:46.250114名無しさん@お腹いっぱい。
2015/04/22(水) 08:02:08.660115名無しさん@お腹いっぱい。
2015/04/22(水) 10:01:23.75O Begin a new line above the cursor and insert text,
repeat [count] times. {Vi: blank [count] screen
lines}
のメッセージの部分でhjklで移動してもカーソルの位置が飛び飛びになったり特定の位置で移動できなくなったりするのはなぜですか?
ターミナルのWindowのサイズを変更したり、スクロールして別の文章を表示してからまた上の文章を表示すると問題が治ります
gvimでは最初から問題がでませんでした
0116名無しさん@お腹いっぱい。
2015/04/22(水) 13:56:41.92移動できなくなる特定の位置ってのがどこを指すのかわからないけど、飛び飛びになるのはそこにスペースではなくてタブが入力されているから。
ターミナルのvimとgvimで設定が異なってるんじゃないかな。expandtab とか tabstop とか shiftwidth とかで検索して .vimrc や .gvimrc (だっけ?) と比較してみると分かると思う。
0117名無しさん@お腹いっぱい。
2015/04/22(水) 15:55:39.45なんでこうなるのかわかりません
vim -N -u NONEで起動
1. :h O@enをした時
http://light.dotup.org/uploda/light.dotup.org175173.png
2. hを押した時
http://light.dotup.org/uploda/light.dotup.org175174.png
3. もう一回hを押した時
http://light.dotup.org/uploda/light.dotup.org175175.png
0118名無しさん@お腹いっぱい。
2015/04/22(水) 15:56:19.130119名無しさん@お腹いっぱい。
2015/04/22(水) 18:13:56.02:h O@en した直後の一行目は
[TAB][TAB][TAB][TAB][TAB][TAB][TAB][SPC]*O*
この一つ目の * の上にカーソルがあるのが本来のはず
1. :h O@enをした時 http://i.imgur.com/DnyrEvo.png
2. hを押した時 http://i.imgur.com/AsgZN84.png
3. もう一回hを押した時 http://i.imgur.com/jV92BTy.png
>>118は行の表示がなぜか一行ズレてるっぽいね
0120名無しさん@お腹いっぱい。
2015/04/22(水) 18:49:45.440121名無しさん@お腹いっぱい。
2015/04/22(水) 21:03:26.66>>119はKDEです
フォントはDejaVu Sans Mono
0122名無しさん@お腹いっぱい。
2015/04/23(木) 12:25:57.44https://google-styleguide.googlecode.com/svn/trunk/google_python_style.vim
0123名無しさん@お腹いっぱい。
2015/04/23(木) 21:20:11.76https://google-styleguide.googlecode.com/svn/trunk/pyguide.html?showone=Indentation#Indentation
0124名無しさん@お腹いっぱい。
2015/04/24(金) 16:18:44.51vim-smartchrとvim-smartinputが凄い便利で使ってるのですが、設定を駆使して
色々融通をきかせても、どうしてもこのケースでは無効化されていてほしい!
と思うことがあります。例えばFunctionKey一発で無効/有効をトグルできるように
したいです。
0125名無しさん@お腹いっぱい。
2015/04/24(金) 21:59:04.82とりあえずvimrcに書いときました
0126名無しさん@お腹いっぱい。
2015/04/25(土) 01:05:38.490127名無しさん@お腹いっぱい。
2015/04/25(土) 03:24:37.940128名無しさん@お腹いっぱい。
2015/04/25(土) 05:59:59.30行番号じゃなくてsignだけど
https://github.com/chrisbra/changesPlugin
0129名無しさん@お腹いっぱい。
2015/04/25(土) 17:45:54.77コマンド補完の時は無効にしたいんだけど、
目的が違うのになんでon/offだけの1つのオプションにまとまってるんだろう。
それぞれのモードに入ったら切り替えるようにしないといけないのかな。
0130名無しさん@お腹いっぱい。
2015/04/25(土) 19:21:03.73set matchpairs& matchpairs=+=<:>
これって↓と違うんですか?
set matchpairs=+=<:>
0131名無しさん@お腹いっぱい。
2015/04/25(土) 21:37:13.50:h set-&
0132名無しさん@お腹いっぱい。
2015/04/25(土) 22:33:03.11でもこれvimrcに書く時は最初から規定値になってるはずなので不要な記述の気がするんですが
0133名無しさん@お腹いっぱい。
2015/04/25(土) 23:01:42.17環境によっては/etc/vim/vimrcとかで変えられてる可能性があるからじゃねえかな
0134名無しさん@お腹いっぱい。
2015/04/25(土) 23:02:39.48あ、あとvimrcを再読み込みした時のため
au!もそのため
0135名無しさん@お腹いっぱい。
2015/04/25(土) 23:10:27.19ものによってどんどん追加されていくのもあるんだろうか
0136名無しさん@お腹いっぱい。
2015/04/26(日) 01:41:37.250137名無しさん@お腹いっぱい。
2015/04/27(月) 21:04:55.52gvimで何か開かれるときに、新しいウィンドウではなく既存のgvimのウィンドウの新しいタブとして開かせることは.vimrcからは出来ないでしょうか?
ファイラーから日本語のテキストを開くたびにgvimのウィンドウが増えていって……
0138名無しさん@お腹いっぱい。
2015/04/27(月) 21:08:02.34gvim --remote-tab foo
0139名無しさん@お腹いっぱい。
2015/04/27(月) 21:34:47.37singleton.vim
0140名無しさん@お腹いっぱい。
2015/04/27(月) 22:15:45.84>>138
バックグラウンドタブに回されてしまいます……フォアグラウンドがいいです
>>139
入れてみました。起動時にE117とE477と大量のE488が出ます……utf8のunixです
あとこちらもバックです
もうちょっといじってみます
0141名無しさん@お腹いっぱい。
2015/04/27(月) 23:28:42.57LinuxMintのvimは、7.3以上かつ+clientserver付きなの?
0142名無しさん@お腹いっぱい。
2015/04/27(月) 23:57:32.16そのようです
サーバー立ち上げてませんでした吊ってきます
0143名無しさん@お腹いっぱい。
2015/04/28(火) 07:26:50.67vimgrep で再帰検索をする場合、
:vimgrep /pattern/ **/*.ext | cw
等になるかと思いますが、
このとき特定のディレクトリだけを検索対象から再帰的に除外する方法はないでしょうか?
内部grepで無理なら外部grepでもかまいません。
よろしくお願いします。
0144名無しさん@お腹いっぱい。
2015/04/29(水) 06:11:46.11:vimgrep /pattern/ `find . -name '*.ext' -! -path './exclude/*'` | cw
0145名無しさん@お腹いっぱい。
2015/04/29(水) 07:59:42.000146名無しさん@お腹いっぱい。
2015/04/29(水) 09:54:25.63これはデフォルトでこういう色に設定されているんですか?
vimrcとgvimrcはからの状態です
たしか昔インストールしたときは黒背景だったのですが
0147名無しさん@お腹いっぱい。
2015/04/29(水) 11:50:42.42set rtp+=~/.vim/bundle/Vundle.vimと書いてあるのですが
vimrcを再読込したら重複するパスが存在するとおもうんです
いろんな人のvimrcみても+=で追加してるんですが問題ないのでしょうか?
0148名無しさん@お腹いっぱい。
2015/04/29(水) 12:59:30.27vimをアンインストールで解決
0149名無しさん@お腹いっぱい。
2015/04/29(水) 14:04:34.11"vimrc リローダブル"でググると幸せに
0150名無しさん@お腹いっぱい。
2015/04/29(水) 15:25:42.32augroupなどは設定済みでした
後はマッピングでvimrcを読み込むようにしました
一つ解決できないことが見つかりました
set all&ですべての設定を規定値に戻せません
戻せなかったのはnumberです
set all&じゃnumberはnonumberにできないのでしょうか?
0151名無しさん@お腹いっぱい。
2015/04/29(水) 17:42:16.48でも画面上のはCTRL-lしないと消えないね
0152名無しさん@お腹いっぱい。
2015/04/29(水) 17:57:17.09再描画コマンドをvimrcに書いたら思い通りになりました
これで完璧に初期化できました
0153名無しさん@お腹いっぱい。
2015/04/29(水) 18:25:50.45augroup vimrc
autocmd!
nnoremap <Space>s. :<C-u>source ~/.vim/vimrc<CR>
augroup END
colorscheme default
syntax enable
再描画入れてないんですがこの内容だけのvimrcをスペースs.押して再読み込みさせると
色が付かなくなってしまいました。再描画しても変化ありません。
set all&実行する前後の:set allの内容をチェックしてみましたが色とは関係なさそうな値が異なるだけでした
なぜですか?
0154 ◆fkrTovHYGs
2015/04/29(水) 18:37:32.930155名無しさん@お腹いっぱい。
2015/04/29(水) 20:55:50.750157名無しさん@お腹いっぱい。
2015/04/30(木) 19:58:11.53:source vimrcしたときに変数fを使ってset filetypeしたいんですがうまくいきません
syntax on
if exists("g:f")
set filetype=g:f
else
let g:f = &ft
endif
vimを開いた後に自分で:echo &ftするとステータスバーの下にvimって出力されたのですが
let g:f = &ftするタイミングでファイルタイプの種類を取れてないのですがどうやって変数にセットできますか?
0158名無しさん@お腹いっぱい。
2015/04/30(木) 20:58:51.50ありがとうございましたm(__)m
非常に助かりました、完璧でした。
それにしてもどうしてこんな複雑な操作を熟知されてるのでしょう?
私からすると神様みたいです
0159名無しさん@お腹いっぱい。
2015/04/30(木) 21:00:52.78au FileType * let g:f = &ft
はどうや?
0161名無しさん@お腹いっぱい。
2015/04/30(木) 23:11:36.93そのvimrcでlet g:fしてるの消した?
0162名無しさん@お腹いっぱい。
2015/04/30(木) 23:19:09.27そもそもこれの目的はなに?
so ~/.vimrc してもftはリセットされないべ?
0163名無しさん@お腹いっぱい。
2015/04/30(木) 23:36:54.070164名無しさん@お腹いっぱい。
2015/04/30(木) 23:43:58.890165名無しさん@お腹いっぱい。
2015/04/30(木) 23:52:44.71vim って言うより find の使い方だねこれは。
0166157 ◆MC7mIiSQ8g
2015/05/01(金) 00:39:53.90syntax on
if exists("g:f")
set filetype=g:f
else
au FileType * let g:f = &ft
endif
このスクリプトで:source vimrcの後に:set filetypeするとfiletype=g:fと出力されました
>>162
vimrcリロード後にset all&でファイルタイプが消えるので再設定するためです
1版最初にvimを立ち上げた時にファイルタイプの値&ftが取得できなくて空の値をg:fに代入しているのかなとみています
>>163 vimrcの内容は>>157だけです
>>164
これからします
0167名無しさん@お腹いっぱい。
2015/05/01(金) 01:49:59.42そういうことか。やっとわかったわ
手元ではこれでいけた
.vimrc を source する前にカレントバッファのfiletypeを保存して、.vimrcの最後の方でそれを復元する
augroup Chinshiko
autocmd!
autocmd SourcePre .vimrc let g:f = &filetype
augroup END
let &filetype = get(g:, 'f', '')
0168157 ◆MC7mIiSQ8g
2015/05/01(金) 13:18:10.36できましたこれで完璧です
匿名ブログに完成コードを残しました
http://anond.hatelabo.jp/20150501131712
0169名無しさん@お腹いっぱい。
2015/05/01(金) 16:00:37.190170名無しさん@お腹いっぱい。
2015/05/01(金) 18:29:25.980171名無しさん@お腹いっぱい。
2015/05/01(金) 19:03:35.340172名無しさん@お腹いっぱい。
2015/05/04(月) 00:00:48.55aの所にカーソルをおいてCTRL-aするとカーソルより後ろの数字(2)がインクリメントされるんですが
数字の所にカーソルがないのにインクリメントできる仕様なんですか?
0173名無しさん@お腹いっぱい。
2015/05/04(月) 00:02:25.210174名無しさん@お腹いっぱい。
2015/05/04(月) 07:20:01.68そういう仕様だと思う
どうしても気になるなら無効にするか、カーソル位置に数字がある場合だけ動作するように変更すべし
0175名無しさん@お腹いっぱい。
2015/05/04(月) 08:07:06.19まずマニュアル読もうぜ。
:h ctrl-a
Add [count] to the number or alphabetic character at or after the cursor.
‘after the cursor’って書いてあんだから仕様でしょ。
バグ云々については、バージョン管理してコミットする際に、
差分みて意図しない変更がないか確認すればいい。
0176名無しさん@お腹いっぱい。
2015/05/04(月) 08:47:14.81マクロとか
0177名無しさん@お腹いっぱい。
2015/05/05(火) 00:53:50.000178名無しさん@お腹いっぱい。
2015/05/06(水) 22:20:39.020179名無しさん@お腹いっぱい。
2015/05/06(水) 23:28:28.98気に入らなければ挙動変えられるのがVimのいいところの一つだとは思うけどね
0180名無しさん@お腹いっぱい。
2015/05/07(木) 02:30:05.730181名無しさん@お腹いっぱい。
2015/05/07(木) 12:58:23.99let s = "a"
\ . "b"
この2行しか書いてないvimrcを用意しました
git rebase -i HEAD^^すると
E10: \ should be followed by /, ? or &
ってエラーが出てしまいrebaseができません。
\があるとどうもエラーになるようです。
vimrcの先頭にset nocpを書いたらE10は消えたんですが(vimrcを読み込んだ時点でnocpが設定されているものだと思うのでset nocpをする理由がよくわかってない)
今度はE319: Sorry, the command is not available in this version: let s = "a" . "b"
とエラーが出ました
set nocpじゃなくてset cpoptions-=Cを書いても同じエラが出ました
行を\で分けずに書けばエラーは出なくなるのですが他に解決策はありませんか?
0182名無しさん@お腹いっぱい。
2015/05/07(木) 13:14:23.800183名無しさん@お腹いっぱい。
2015/05/07(木) 15:07:59.88同じ症状を再現できなかった(E10は出せたけどrebaseは成功するしE319は出なかった)ので自信無いけど
「vi」で起動すると互換モードで動くという設定がシステム側でされてて
且つ、環境変数 EDITOR が vim じゃなくて vi とか……?
もしそうなら、ちゃんと vim を使うように設定すれば -u NONE は要らないと思う
0184名無しさん@お腹いっぱい。
2015/05/07(木) 17:18:24.92ありがとうございます
0185名無しさん@お腹いっぱい。
2015/05/07(木) 17:37:25.89それぞれビミョーに手を加えてたり再現度に違いがあって切り替えたときとか混乱してやりづらいね
0186名無しさん@お腹いっぱい。
2015/05/08(金) 00:22:47.19それらは完全に同じではないもんな
あくまで "like" なだけで
0187名無しさん@お腹いっぱい。
2015/05/08(金) 00:24:04.71なんだろそれ
EDITOR=vim だし、.vimrc にバックスラッシュ含まれてるけどその現象は出てないわ
0188名無しさん@お腹いっぱい。
2015/05/09(土) 12:21:55.910189名無しさん@お腹いっぱい。
2015/05/12(火) 21:55:38.39これで起動した時に左右にファイルの差分が表示されますが
このままvimgrepのモードを解除して左右に分割されたままファイルを編集作業に入りたいので
解除方法を教えてください
0190名無しさん@お腹いっぱい。
2015/05/13(水) 19:24:16.30:diffoff!
http://vim-jp.org/vimdoc-ja/diff.html#:diffoff
vimgrep じゃなくて vimdiff ね
0191名無しさん@お腹いっぱい。
2015/05/13(水) 23:15:32.59解除できましたありがとうございます
0192名無しさん@お腹いっぱい。
2015/05/15(金) 10:13:46.58autocmd FileType php set commentstring=#\ %s
filetype plugin indent on
これだとcommentstringの値を上書きできなくて、行を逆にすると上書き出来ました
filetype plugin indent on
autocmd FileType php set commentstring=#\ %s
なぜfiletype plugin indent onの後に書かないと上書きできないんですか?
0193名無しさん@お腹いっぱい。
2015/05/15(金) 12:31:32.31filetype plugin indent onの行でファイルタイプの判定を有効にしてからじゃないと、
FileTypeのイベントが発行イベントがしないんでしょ。
0194名無しさん@お腹いっぱい。
2015/05/15(金) 12:36:11.59>>192
filetype plugin indent onの行でファイルタイプの判定を有効にしてからじゃないと、
FileTypeのイベントが起きないから、autocmdが実行されないんでしょ。
0195名無しさん@お腹いっぱい。
2015/05/15(金) 14:16:18.80ということはfiletype plugin indent onより前のautocmdは無意味なのか検証してみました
autocmd FileType php setlocal tabstop=1 shiftwidth=1 softtabstop=1
autocmd FileType php set commentstring=#\ %s
filetype plugin indent on
インデントは1になりましたがcommentstringだけは上書きされません
0196名無しさん@お腹いっぱい。
2015/05/15(金) 15:35:27.35失礼。filetype plugin indent onの前でもFiletypeイベントは起きてるみたいだ。
時間がないので細かいことは調べられなかったけど、filetype plugin indent onをすると、
filetypeが決まる時にphp用のftpluginが呼ばれ、そこでcommentstringが上書きされてる。
tabstopなどはphp用ftpluginの中で記述されてないので、設定がそのまま残ってる。
ここら辺の設定の順番は俺じゃわからないから、誰か知ってる人がいたら教えて。
0197名無しさん@お腹いっぱい。
2015/05/16(土) 16:02:28.06`ftplugin-overrule'の項目によると$HOMEで書換える方法でも良いんじゃないかな。
がっつり単純に
setlocal commentstring=/*%s*/
って書いてあるし。
他にも`filetype-plugin-off'の項目によると、『ファイル形式の検出自体は無効にならない。』
とか書いてある。
0198名無しさん@お腹いっぱい。
2015/05/16(土) 16:09:52.580199名無しさん@お腹いっぱい。
2015/05/16(土) 23:18:17.45解説ありがとうございます。
この領域の内容は難しすぎて僕にはついけいけないようです。
0200名無しさん@お腹いっぱい。
2015/05/17(日) 02:56:03.15packageを作った人によって多少の名前の違いはあるかもしれないけどそこは勘で分ると思います。
例えばvimのversionが7.3だっとして/usrにinstallされていたら
/usr/share/vim73/ftplugin というdirectoryの中に「php.vim」と「html.vim」というfileが
あるからそれを$HOME/.vim/ftplugin というdirectoryを作ってその中に複製して入れる。
その複製したphp.vim fileの中に
setlocal commentstring=/*%s*/
という場所が下の方にあるから、その上と下に分を付け足して最終的に以下のようにします。
if ! did_filetype ()
setlocal commentstring=/*%s*/
endif
その複製したhtml.vim fileの中に
setlocal commentstring=<!--%s-->
という場所が上の方にあるから、その上と下に分を付け足して最終的に以下のようにします。
if ! did_filetype ()
setlocal commentstring=<!--%s-->
endif
一応これで以下の設定で動いています。何となくsetlocalにしときました。
autocmd FileType php setlocal commentstring=#\ %s
filetype plugin indent on
0201名無しさん@お腹いっぱい。
2015/05/17(日) 03:26:03.08一番簡単なのはphp.vimのfileのsetlocalの値を書換えるだけなのだけれども。
その時はそうするか、偉い人のアドバイスを待って。寝ます。
0202名無しさん@お腹いっぱい。
2015/05/21(木) 12:17:43.590203名無しさん@お腹いっぱい。
2015/05/21(木) 13:17:21.46:h :diffsplit
0204名無しさん@お腹いっぱい。
2015/05/21(木) 13:45:12.45やったことあるひといる?
0205名無しさん@お腹いっぱい。
2015/05/21(木) 14:49:02.84その行為に意味があると思えない
viが使いたければviを入れれば済むし
■ このスレッドは過去ログ倉庫に格納されています