vim Part 6©2ch.net

主にWindows環境でのVimについてのスレッドです。

本家: http://www.vim.org/
Windows版バイナリ配布: http://www.kaoriya.net/
vim-jp: http://vim-jp.org/
VimWiki: http://vimwiki.net/
ctags 日本語対応版: http://hp.vector.co.jp/authors/VA025040/

名無しのVIM使い(スクリプト) http://nanasi.jp
spanish passion Linux(全オプション) http://www15.ocn.ne.jp/~tusr/
ずんWiki http://www.kawaz.jp/pukiwiki/?vim

関連リンク
UNIX板 Vim Part22: http://peace.2ch.net/test/read.cgi/unix/1365071542/
MacVim 再び: http://anago.2ch.net/test/read.cgi/mac/1133534694/
前スレ vim Part 5: http://anago.2ch.net/test/read.cgi/software/1379912425/

715名無しさん@お腹いっぱい。2018/05/18(金) 07:45:49.89ID:UBuWUPJt0
正規表現にも方言があるから面倒だよな
grepのman見るまで基本や拡張があるなんて知らんかったし
vimの置換に手を焼いてたら原因がエスケープの有無とかほんと

716名無しさん@お腹いっぱい。2018/05/18(金) 13:09:21.66ID:Or9v+YQm0
指定した正規表現の量指定子やエスケープ、クラス、グループなんかをそれぞれ色分けして表示してくれるといいのにね。

そうすれば、エスケープし忘れている文字とかも一発で視認できる。

717名無しさん@お腹いっぱい。2018/05/18(金) 14:14:43.14ID:tabF5f900
エスケープの有無の違いがウザい
未だに戸惑うし

718名無しさん@お腹いっぱい。2018/05/19(土) 17:38:25.00ID:0xVirQWu0
編集が済んでファイルを :bd で 閉じているのですが、
この時にtabは閉じないようにできないでしょうか?

tab 毎に カレントディレクトリを変えているのでやや困っています。

719名無しさん@お腹いっぱい。2018/05/19(土) 21:54:37.42ID:F6IdimAr0
>>718
https://thinca.hatenablog.com/entry/20111204/1322932585
" タブページを常に表示
set showtabline=2
" gVimでもテキストベースのタブページを使う
set guioptions-=e

後:bdだと:ls!では表示されるから俺は:bw使ってる

720名無しさん@お腹いっぱい。2018/05/20(日) 06:24:30.86ID:zmUHpF5R0

721名無しさん@お腹いっぱい。2018/05/20(日) 17:44:58.14ID:5UNB6//I0
>>719,720
ありがとうございます。
720 の plugin が やりたいことっぽいので試してみます。

722名無しさん@お腹いっぱい。2018/05/21(月) 21:15:38.92ID:a5nUaVKs0
8.1きてるじゃないですか

723名無しさん@お腹いっぱい。2018/05/21(月) 22:02:36.13ID:osgZGFj80
kaoriyaのも5/20付?で8.1あるな

724名無しさん@お腹いっぱい。2018/05/22(火) 04:19:25.71ID:QMK9uA+f0
8.1のターミナルサポートってなんのこと?
:terminalとはまた違うターミナル?

725名無しさん@お腹いっぱい。2018/05/22(火) 04:27:52.17ID:QOIpONPs0
>>724
これ見ると同じみたい
いつからあるのか知らないけど
https://www.vim.org/vim-8.1-released.php

726名無しさん@お腹いっぱい。2018/05/22(火) 10:39:06.82ID:z9TAdl0O0
C-pでと入力補完ができるけどまさかC-x C-fでパス補完までできるとは
vimに標準でemacsじみた操作があるとか何この初見殺し

727名無しさん@お腹いっぱい。2018/05/22(火) 17:49:56.67ID:fa0LM1mN0
gvimからのterminal素敵すぎる

728名無しさん@お腹いっぱい。2018/06/14(木) 21:01:03.80ID:pE/7MxaF0
Windows7でkaoriya版vimを使って言語の勉強をしています
普段は漢字入力をするとファイルの文字コードがcp932になっており
Windowsはそれで自然だと思うし不便なかったのですが
Go言語はutf-8のソースファイルでないとコンパイルが通らないため
「拡張子goのファイルを新規作成した時だけ自動でファイルエンコードが
utf-8になる」という設定をしたいです
どの設定ファイルをどういじれば実現できるでしょうか

729名無しさん@お腹いっぱい。2018/06/14(木) 22:05:55.81ID:et/4+bx90
windowsはデフォルトだと %userprofile%\_vimfiles が設定ファイル

autocmd FileType go setlocal fileencoding=utf8

730名無しさん@お腹いっぱい。2018/06/15(金) 04:46:20.45ID:djDNK2kl0
>>729
_vimrcファイルを作っていたのでそこにその通り追加したら_出来ました
ありがどうございます

731名無しさん@お腹いっぱい。2018/06/21(木) 16:32:02.25ID:ILmjb/8P0
「The VimL Primer」という本を読んでいるのですが、
その中に autoload/mpc/autoload/mpc.vim というディレクトリ構造が登場します。

autoload ディレクトリの下に更に autoload ディレクトリを置くのは無駄ですよね?

732名無しさん@お腹いっぱい。2018/06/24(日) 12:01:26.67ID:FchRyKhH0
vundle でプラグインをインストールすると、
.vim/bundle/<そのプラグイン名>/ftdetect
というように、ftdetect ディレクトリがこんな所に作られますが、
その中身を .vim/ftdetect ディレクトリにコピーしないと、これは機能しませんよね。

それとも、vundle の設定の一環として .vimrc に何か書く事で、
わざわざコピーしなくても機能させるようにするのが普通なのでしょうか。

733名無しさん@お腹いっぱい。2018/06/24(日) 13:32:56.94ID:UR757Z5t0
Vundleが~/.vim/プラグイン名 をrtpに追加してくれるから普通はそのままで動くと思うけどなあ
他の設定とかプラグインでftdetectが上書きされてるとか?

734名無しさん@お腹いっぱい。2018/06/24(日) 15:48:20.09ID:FchRyKhH0
>>733
rtp変数にどのようなパスが設定されていようと、
.vim/ftdetect ディレクトリ内の *.vim ファイルしか読みとってくれないのですが、
これは異常なのですか?
そういうものだと思っていました。

.vimrc 設定ファイルを見直してみましたが、なにが悪さをしているのか見当がつきません。
プラグインも vundle を使って vim-mql5 と vim-surround の2つをインストールしているだけです。

ftdetect が上書き(?)されるような設定というのは、例えばどのようなものがあるでしょうか?

735名無しさん@お腹いっぱい。2018/06/24(日) 18:31:32.68ID:UR757Z5t0
>>734
例えばrtpに~/.vim/vundle/vim-mql5が入ってるなら、その下にある ftdetect/*.vim は読み込まれるはず。
:scriptnames しても vim-mql5 以下のファイルは出てこない?

ttps://github.com/rupurt/vim-mql5
をみると拡張子は .mqh か .mq5 の場合だけファイルタイプ設定するみたいだけど、そうなってるよね?

736名無しさん@お腹いっぱい。2018/06/24(日) 19:57:42.28ID:qK/47AFf0

737名無しさん@お腹いっぱい。2018/06/24(日) 21:15:12.99ID:FchRyKhH0
問題が解決しました。
アドバイスのおかげです。

filetype plugin indent on は vandle#end の後に書かないといけないのですね。

vubdle 導入時にどこかのブログから基本設定をコピペしてきて、
そこに後は入れたいプラグインをvundle#begin と vundle#end で挟んで書くだけとあったので、
そのままコピペした設定の後ろ (filetype plugin ... の後ろ) に追加していました。

vundle が何をやっているのかとか、filetype の仕組みとか、色々勉強になりました。

738名無しさん@お腹いっぱい。2018/06/25(月) 07:13:53.16ID:tAow12uZ0
>>737
https://github.com/VundleVim/Vundle.vim
これのQuick Startの.vimrcのサンプルぐらいは読んでおくことをすすめる
Vundleで必要な設定がコメントされてる

それとVundleはもうメンテされてないから早いうちに別のプラグインに移行しておくと楽かも
https://github.com/junegunn/vim-plug

vim-plug はVundleと設定やコマンドが殆ど同じで、プラグインのアップデートを並列処理で行ってくれるために高速

739名無しさん@お腹いっぱい。2018/06/25(月) 09:15:01.66ID:Wn+Lak0X0
>>738
ありがとうございます。
参考にさせていただきます。

740名無しさん@お腹いっぱい。2018/06/26(火) 19:20:11.33ID:+/jhckfA0
filetype を学んだつもりでしたが、まだまだ未熟のようでした。
>>738 が薦めてくださった vim-plug を使ってみましたが、 また filetype 絡みで分からない事が出てきました。

~/.vim/plugged ディレクトリに vim-plug でインストールするプラグインを入れるとします。
それとは別に、~/.vim/foo ディレクトリに自作のテスト用プラグインを入れたいと思います。
そこで、~/.vim/foo/ftdetect/bar.vim に *.bar ファイルを開いた時に実行させたい処理を autocmd で書きました。

問題は .vimrc の書き方です。

set rtp+=~/.vim/foo
call plug#begin ('~/.vim/plugged')
...
call plug#end ()

というように、plug#end の前に rtp を追加しておくと、問題なく bar.vim が読み込まれます。
しかし、

call plug#begin ('~/.vim/plugged')
...
call plug#end ()
set rtp+=~/.vim/foo

というように、plug#end の後ろに置くと、bar.vim は読み込まれません。
同じ場所で rtp^=~/.vim/foo としてもだめだったので、rtp 内のパスの並び順の問題ではなさそうです。

なぜ後ろではだめなのでしょうか? 理屈が分かりません。

741名無しさん@お腹いっぱい。2018/06/27(水) 00:01:10.89ID:j2gq8GfR0
plug#end() の中で filetype plugin ... が実行されるから

742名無しさん@お腹いっぱい。2018/06/27(水) 09:23:00.01ID:qRvNG1Sl0
>>741
その理屈ですと、plug#end の後に、

set rtp+=~/.vim/foo
filetype on

とすれば、ちゃんと var.vim が読み込まれる筈ですが、ダメでした。

あと、今回の問題と関係あるか分かりませんが、

plug#end の後に filetype off としても、
vim を起動して :filetype とコマンドを入力すると、

filetype detection:ON plugin:ON indent:ON

とメッセージが出力されました。

もしかして、:filetype の設定は .vimrc の中では一度きりしかできないのでしょうか。

743名無しさん@お腹いっぱい。2018/06/27(水) 17:26:40.50ID:5a8EYcvd0
ソフトウェアデザイン7月号は Vim 特集だった
入門的な内容だったけど

744名無しさん@お腹いっぱい。2018/06/30(土) 21:56:44.40ID:rRUFvPvZ0
VimL で、日英混在の長さが不揃いの文字列の配列があり、
それを右詰めでバッファに表示させたいです。

let a = ['あiう', 'kakiくけ', 'さshisu']

という配列ならば、a[0] を左に3個半角スペースを接頭し、
a[1] をそのまま、a[2] を左に1個半角スペースを接頭して表示します。

配列内の最大の表示文字幅が分かれば、右詰め自体は printf 関数で簡単にできます。

問題は表示文字幅をどの様に取得するかです。
当然 len 関数は使えないのですが、どの様にすれば良いでしょうか?

745名無しさん@お腹いっぱい。2018/07/01(日) 07:24:09.21ID:JhLRfiKX0
>>744
解決しました。
strdisplaywidth 関数という、やりたい事そのままの関数がありました。

746名無しさん@お腹いっぱい。2018/07/08(日) 22:50:39.89ID:T4xC9S2D0
:lcd で変更されるウインドウローカルな作業ディレクトリを getcwd()で取得した時の戻り値
(に含まれるディレクトリセパレータ)には&shellslash が反映されないのかなー

747名無しさん@お腹いっぱい。2018/07/09(月) 15:12:09.70ID:tofSWAtX0
テキストエディター戦争は「Vim」がまた一歩リードか、Webブラウザーで動作可能に
https://forest.watch.impress.co.jp/docs/serial/yajiuma/1131850.html

748名無しさん@お腹いっぱい。2018/07/09(月) 20:47:58.33ID:+2d+js5j0
昔はvim vs emacsだったのに
今はvim vs その他モダンなエディタになってるな

749名無しさん@お腹いっぱい。2018/07/10(火) 01:09:35.12ID:ceilv6oY0
Emacsって今どうなってるん?
各個人が発展させてるだけ?

750名無しさん@お腹いっぱい。2018/07/10(火) 09:03:32.27ID:LCUTnq380
Happy Hacking KeyboardスレだとまだEmacsは最前線ツールで、Vimやその他はライトユーザーのおもちゃ扱いされていて悲しかった

751名無しさん@お腹いっぱい。2018/07/11(水) 21:20:57.75ID:66l7HRox0
日本語の単語の区切り(wコマンドなどの)ってどのように決められているのですか?

752名無しさん@お腹いっぱい。2018/07/12(木) 01:04:37.32ID:9Uk+FCCV0
ひらがな
カタカナ
漢字
英数字とアンダーバー
記号
それぞれの塊ごとで区切られてるはず

753名無しさん@お腹いっぱい。2018/07/12(木) 08:30:23.28ID:nNbcR9b20
よくまあ日本語文字の種類に対応できるね
外国人エンジニアのITスキル半端ないわ
それとも日本語対応部分の処理は日本人が実装しているのかな

754名無しさん@お腹いっぱい。2018/07/12(木) 13:15:55.15ID:S3uIZCu10
って事は、「漢字仮名交じり文で書きました。」は「漢字仮名交」「じり」「文」「で」「書」「きました。」で区切られちゃう?

755名無しさん@お腹いっぱい。2018/07/12(木) 21:33:09.80ID:gipOXm4E0
>>754
やってみたら、そうなりました。

あと、調べたら jasegment.vim なんて作ってる人もいるのですね。

756名無しさん@お腹いっぱい。2018/07/12(木) 21:34:47.11ID:9Uk+FCCV0
「きました」「。」だね

757名無しさん@お腹いっぱい。2018/07/12(木) 21:42:15.53ID:qqd4jy1d0
句読点やカギ括弧のような全角記号と、コンマや丸括弧のような半角記号は、
同じ種類とみなされるようだ
ちょっと不思議

758名無しさん@お腹いっぱい。2018/07/13(金) 02:47:14.54ID:BF0SQQjN0
>>755
それ凄そうね
けれど5年以上更新されてないのが気になる

759名無しさん@お腹いっぱい。2018/07/13(金) 10:04:35.72ID:Y69PDjoV0
>>758
文字なり文節の区切り方がコロコロ変わるわけでもないかから更新する必要もないだろ

760名無しさん@お腹いっぱい。2018/07/20(金) 06:48:47.53ID:c72Mb7Mn0
皆さんはesc派ですか
それともC-[派ですか

761名無しさん@お腹いっぱい。2018/07/20(金) 09:47:04.65ID:5/DWREFT0
>>760
俺はenterキーをescキーにマップしてる

改行は C-j

762名無しさん@お腹いっぱい。2018/07/20(金) 20:33:37.05ID:fhSqDnc20
次にノーマルモードで何か打つときは、c-[
次に何も操作しないとき
(左手がホームポジション離れてもいいとき)は、ESC が多いかな

763名無しさん@お腹いっぱい。2018/07/20(金) 21:46:37.43ID:uQK3C5rM0
こういうのにescキーを割り当てると捗りそうなんだが、linuxで使ってる奴いる?https://www.amazon.co.jp/dp/B004HAFZ1I

764名無しさん@お腹いっぱい。2018/07/22(日) 09:29:17.20ID:PVAvAjP20
C-[でescなんて初耳だわ
C-@に割り当ててた意味って

765名無しさん@お腹いっぱい。2018/07/22(日) 11:03:34.10ID:xaFzSwEz0
>>764
> C-[でescなんて初耳だわ
それ別にviの独自のキーバインドじゃないからな

新着レスの表示
レスを投稿する