Vim Part27

■ このスレッドは過去ログ倉庫に格納されています
2017/10/03(火) 22:54:43.91
Vim 6以降に関する話題、Part26です。
http://www.vim.org/

前スレ
Vim Part25 [転載禁止]?2ch.net
http://peace.2ch.net/test/read.cgi/unix/1427713482/
Vim Part26
http://mevius.2ch.net/test/read.cgi/unix/1455436351/

関連情報は>>2-6あたり
2018/01/06(土) 04:34:17.80
>>205
'fileencodings' については知ってる?
2018/01/06(土) 06:30:42.29
>>206
.vimrcにset fileencoding=utf-8,euc-jp,sjis,cp932,iso-2022-jpを追記したら自動変換されました
毎回手動変換してた俺マジ情弱
2018/01/06(土) 16:11:55.56
vimの履歴が減ったと思ったらなぜか.viminfoのコマンド履歴と検索履歴がごっそり消えてたでござる
2018/01/08(月) 12:22:47.80
バッファのディレクトリとカレントディレクトリを一致させるために,.vimrcに
au BufEnter * execute ":lcd " . expand("%:p:h")
って書いてるんだけども, この設定だと,vim8のTerminalに移動した時 に,
"cdpathには "!/bin" というファイルがありません"というエラーが出ます.どうやって回避したらいいですか?
2018/01/08(月) 12:50:46.28
>>209
buftype=terminal がセットされるみたいなので、if &buftype != 'terminal' | execute ... | endif
とすれば良いのでは?
2018/01/08(月) 13:57:35.56
>>210
御助言ありがとうございます.参考にして次のように関数書いてみました.

function! Cwdstring()
if &buftype == 'terminal'
return getcwd()
else
return expand("%:p:h")
endif
endfunction

au BufEnter * execute ":lcd " . Cwdstring()

ここまでする必要があるかどうかわかりませんが.
212名無しさん@お腹いっぱい。
垢版 |
2018/01/09(火) 21:18:48.78
buffdoでできんじゃねえの
2018/01/10(水) 11:07:21.78
ただの愚痴。
Vimの:makeというコマンドを知ってすごく重宝してるんだけど,
latex *.ltx みたいな内容のMakefile (多分一番よくある書式) に対して:makeすると,
LaTeX側でエラーが起きた場合にLaTeX原稿の当該部分じゃなくてMakefileの当該部分 (latex *.ltxが書いてある行)
が開かれるんでちょっと不満。Makefile開かれてどうしろってんだ。
LaTeXのエラーログには「l.678: hoge」みたいにちゃんと原稿側のエラー箇所が示されてるんだけどなぁ
2018/01/10(水) 17:15:01.22
文字列をコピーしてもたまに貼り付け出来ないんだが俺環だろうか
vimでhogeをヤンクしてvimを終了させると貼り付けできないな
レジスタとクリップボードの共有化は済んでるしvimの起動中なら普通にvim以外ともコピペ出来るし
どうも対象プロセスが終了するとクリップボードの文字列が貼れないようだわ
clipmanで文字列を選び直せば貼れるっちゃ貼れるが
2018/01/11(木) 02:30:26.40
>>214
それが起こるのはVimだけ?
試しに何か適当なエディタか何かを開いて文字列をコピーして,
それを終了してから他の場所に貼り付けられるかやってみた。
2018/01/11(木) 05:40:30.69
>>215
現状はvimとFirefoxがそうだな
vimとFirefoxで文字列コピー後に終了するとと貼り付けできない
勿論クリップボードには入ってるし起動中なら貼り付けは可能
全部のウィンドウがそうかと思えばleafpadやmeditでは起こらないし発生条件分からん
nanoのクリップボード共有化知らんしemacsは使ってないし
217215
垢版 |
2018/01/11(木) 06:49:08.22
>>216
うーんすまん。正直 X Window System にそこまで詳しくないのであまり助けになれん。
実はVimのXクリップボード連携が./configure --with-xすると効かなくなるというバグに嵌ってて,同じ症状かなと思ったんだわ。
他のアプリケーションでもクリップボードに異常が起きるのならクリップボード管理システムを替えたほうがいいかもね。
Vimをどうこうするんじゃなくて。
俺はClipmanっていうのを使ってるけど,クリップボードの内容を永続的に保存できて便利。
218216
垢版 |
2018/01/12(金) 07:46:19.69
Linux Mint 24 [無断転載禁止]©2ch.net
http://mao.5ch.net/test/read.cgi/linux/1504597499/14-15
14login:Penguin2017/09/08(金) 06:43:00.88ID:HeMXw1rV
17.3だけどたまにコピペが失敗するのはなんでだろうか
clipmanで一旦文字列選ばないと貼り付けられない時がある
キーボードやマウスの不調でもなさそうだし

15login:Penguin2017/09/08(金) 07:49:33.77ID:OpV6dUTb
コピー元のアプリ
例えばメモ帳なりブラウザなりをクローズしてると
クリップボードが初期化されるようだぞ
やや不便

俺はMintで起きるんだがdebian系の仕様みたいだな
2018/01/12(金) 12:30:56.60
Debian で Clipman 使ってるけどそんなことはないな。
プライマリがアプリケーションの終了で消去されるのはXの仕様な訳だし
220名無しさん@お腹いっぱい。
垢版 |
2018/01/13(土) 08:54:22.24
>>214
セキュリティ上仕方ないことだと思うんだが。
2018/01/13(土) 15:22:27.91
セキュリティ?
2018/01/13(土) 20:15:24.79
今じゃあんまり使われないけどネットワーク越しにXを起動させた場合に
Xプライマリをtelnet通信すると危険ってことじゃない?>セキュリティ
223名無しさん@お腹いっぱい。
垢版 |
2018/01/14(日) 13:42:05.16
>>222
telnetか
2000年頃には既に、
『まだ、telnet使ってんの?!』って言ってたのに、さすがに未だにtelnet使ってる奴なんていないだろ。

俺も本格的にssh使い始めたのが1999年辺りからOpenBSD2.7から使い始めたな。
それまで、SuSE使ってたな。

2000年辺りではtelnetなんて使って通信しようとしてた奴はアホだと言われてたぐらいだぞ。
2018/01/15(月) 21:08:32.86
Vim起動時の引数ってどの辺りに確保されてる?
何も引数を指定しなかったときとそうでないときで別の処理をするようなvimrcを書きたいんだけど……
2018/01/16(火) 03:10:44.09
(を入力したときに、閉じ括弧が自動ではいるようにしてるのですが、オムニ補完で(が入力されるときに閉じ括弧が入らず、煩わしいです。何か良い設定ないでしょうか
閉じ括弧の入力はsmartinput.vimつかってます
2018/01/16(火) 06:48:56.41
>>224
シェルで処理したほうがよさげ
2018/01/16(火) 16:34:22.46
@%とかでいけんじゃね?
2018/01/16(火) 20:15:43.47
pコマンドってpasteじゃなくてputのpなのな
ddコマンドは名前こそdeleteでも挙動は切り取りなのな
ヤンクといいコピペの名前すら違うとか初心者には取っ付きにくくて敵わん
嫌でも覚えなきゃならないんだけどviに慣れたら本当にこの変態仕様以外受け付けない体になるんですかね?
229名無しさん@お腹いっぱい。
垢版 |
2018/01/16(火) 20:22:02.59
ビルジョイの次くらいにvi詳しいけど、
rootでの作業以外はvi使わん。
Terapadのが使いやすい。
230名無しさん@お腹いっぱい。
垢版 |
2018/01/16(火) 21:25:42.27
>>229
オマエ、言ってることとやってることが矛盾してるぞ。
ビルジョイの次くらいにvi詳しいんだろw
231名無しさん@お腹いっぱい。
垢版 |
2018/01/17(水) 00:19:09.36
>>228
次にあげる操作を試してみて便利と感じるなら学ぶ価値があるんじゃない。

中身のあるテキストファイル2つ用意して
仮に a.txt, b.txt とする。

vim a.txt でまず一つ目のファイルを開いて G とか gg とか 10j とか適当に自由にカーソル移動してみる。

次に :e b.txt として別のファイルを開き同様にカーソルを自由に移動。

その状態で C-o を押すと押す毎にカーソル位置が前いた場所に動く。ファイルもまたがる。 行き過ぎたらC-i で戻る。

例えばこれは編集箇所を自由に飛び回れる機能で他のエディタには簡単にできない機能だけどこういうのが便利と感じれば学んだら良いと思う。
232名無しさん@お腹いっぱい。
垢版 |
2018/01/17(水) 00:36:05.35
>>228
vim起動したらそのまま10iを押す
挿入モードになったらhoge入力してEnter押して最後にESCをポチッとしてみる
2018/01/17(水) 01:13:58.31
viが今でも使われてるのは単に最初から入ってるからってだけだと思ってたけど違うんだ
サーバー設定だと他に選択肢がないからてっきり必要に迫られただけかと思ってた
一般用途であえてこんな骨董品使うのは好事家ぐらいじゃないのって先入観も
234名無しさん@お腹いっぱい。
垢版 |
2018/01/17(水) 03:16:44.19
>>233
だな。
オマエの先入観だ。
2018/01/17(水) 06:12:11.10
POSIX にも vi として載ってる位には標準的だしね。
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/vi.html
2018/01/17(水) 06:27:59.88
最初から入ってるviかてVimをリネームしてあるだけのことが多い
いまどきviなんかわざわざ使うことはないやろ
viならできるけどVimやとできんことなんかあらへんやろ
2018/01/17(水) 14:46:20.19
vim -u NONE --noplugin
2018/01/17(水) 17:31:54.47
Vim8 の新機能?か知らんけど `wordcount()関数' なるものがあることに気づいた。
しかし使い方が分からん……
2018/01/18(木) 02:15:07.61
へるぷにかいてあるじゃんよー
240名無しさん@お腹いっぱい。
垢版 |
2018/01/18(木) 08:08:39.80
>>238
ggrks
2018/01/18(木) 11:43:59.67
Googleの検索結果が綺麗な平行世界からの書き込みかな?
2018/01/18(木) 15:49:52.93
↑あほ発見
2018/01/18(木) 16:16:49.41
↓あほ発見
2018/01/18(木) 18:38:57.79
?なかみ込き書のらか界世行平な麗綺が果結索検のelgooG
2018/01/18(木) 21:55:10.67
245<<
skrgg
246名無しさん@お腹いっぱい。
垢版 |
2018/01/19(金) 07:20:21.72
elgooGからとか中国から来たのか
247名無しさん@お腹いっぱい。
垢版 |
2018/01/19(金) 10:55:11.31
>>237
-u NONEしてるから--noplugin不要
2018/01/19(金) 19:10:02.00
>>247
"NONE" (全て大文字)が指定された時には、
設定ファイルや環境変数による初期化、
.gvimrcによるGUIの初期化も含め、全て省略される。
プラグインも読み込まれない。

http://vim-jp.org/vimdoc-ja/starting.html#-u

ははぁなるほど。ありがとう。
2018/01/20(土) 23:21:13.57
不具合?っぽいもの。
再現するか試して欲しい。

環境:
 * プラグイン・設定ファイルの読み込みに関わらない
 * Vim 8, 適用済みパッチ 1-1428 (7以前とかでも再現するかも)
 * CUI (xfce4-terminal), Linux (Debian 9)
内容:
 * (前提) cabbrev aaa A というコマンドラインでの略語展開が設定されている
 * 通常のファイルを開いている時には,C-[および<space>の他に
  斜線/や縦棒|を入力すると,その文字が入力される前に略語が展開される。
   :aaa
   「/」を入力
   :A/
 * 手引き画面 (例えば :help cabbrev<CR>) を開いた状態で
  上記と同じことをやろうとすると,C-[及び<space>は正常に作用するが,
  斜線等の入力で略語展開されない。

手間かと思うがどうかよろしく。
2018/01/21(日) 00:13:10.53
>>249
試してみたが仕様というか設定だわ
:h abbreviations にiskeywordの設定によって挙動が変わようなことが書いてある
うまく説明できないが…
251249
垢版 |
2018/01/21(日) 08:48:52.82
>>250
ありがとう。
一応事前に :help abbreviations には目を通しておいたんだが,
iskeyword の設定が件の原因だとは思わなかった。
とりあえず仕様ということであまり考えないようにする。

あと C-[ じゃなくて C-] でした。
252名無しさん@お腹いっぱい。
垢版 |
2018/01/22(月) 06:34:50.52
vimの中で設定される変数とかって外部から参照できねぇの?
vim -es +':echo $VIMRUNTIME|%p|q!'
とかやるとプロンプトが還らぬ人となっちゃうし。
2018/01/22(月) 11:28:05.47
無理無理
2018/01/22(月) 17:08:48.60
みんなカーソル移動するときは指4本ををホームポジションから左に1つずらしてタイプしてるの?
2018/01/22(月) 17:14:23.68
?
2018/01/22(月) 17:51:27.28
カーソル移動は念力でやってるけど
2018/01/22(月) 17:59:18.46
>>254
h押すときに人差し指だけをjから動かすだけでしょ
他の指の位置はそのまま
2018/01/22(月) 18:14:27.32
カーソル移動に hjkl 使う奴は情弱 (煽り)
2018/01/22(月) 20:41:53.26
半年前ぐらいからvim使うようになったけど確かにhjklほとんど使わなくなった
2018/01/22(月) 23:03:52.17
>>257
>>258
>>259
レスthx。
ホームポジションは動かさないで使う、でもそもそもhjklは使用頻度少ないのね。

でも日本語の場合hjkl以外でカーソル移動するのしんどくない?
2018/01/22(月) 23:40:01.03
最近のVimはw/b/e系列のコマンドが漢字カタカナひらがなを判定して
 Vimは高機能なテキストエディタです
という文章に対して (@はカーソル位置)
 Vimは高@能なテキストエディタです w→ Vimは高機能@テキストエディタです
 Vimは高機能なテキストエ@ィタです 3b→ Vimは@機能なテキストエディタです
みたいな動きができるよ。もしかしたらマルチバイト機能が無効だと無理かもしれんが。
2018/01/23(火) 08:40:57.01
windowsでvim使うときgitbash使ってるんだけどvimprocでエラー出まくってうざい
2018/01/23(火) 17:20:42.30
そもそもWindowsを開発目的で使うなよという話。
まあ昔に比べれば改善されてるみたいだけど (VSとかWSLとか) それでもやっぱり使い難いよ。
Vim自体,開発陣が必死になってwin32 API (だっけ。詳しくないけど) 対応し続けてるから使えるんであって
その上の拡張機能まで保証できる訳ないじゃん。
今だったら性能も高いし仮想環境の一つや二つ簡単に作れるでしょ。そこでやれ。
2018/01/24(水) 05:22:33.29
しかもここunix板だし
2018/01/24(水) 06:41:04.78
viminfoがたまにバイナリになるのはなんでなん
外部エディタで文字化けになるだけでvimでバイナリのiviminfo開いても問題ないけど
2018/01/24(水) 12:20:42.39
まったくの憶測だけど圧縮されているのでは。
例えば巨大なファイルを編集した時,平文のviminfoでは構文解析に時間が掛かるから
固定長にして時間短縮を図ってるとか。

実際にどうかは知らんが。:help viminfoにもそれっぽい記述は見受けられなかったし。
2018/01/25(木) 21:28:35.51
autocmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
前回のカーソル位置を復元するこれを一度無効にしてジャンプリストやマーカー消したら直った
nkf -gでviminfo確認したらBINARYからUTF-8に戻ってた
2018/01/26(金) 18:10:33.80
VimライクバインドのブラウザじゃなくてVimのなかでブラウジングしたいんだけどいい方法ない?
そのままだと生のHTMLが見えてみずらい。
2018/01/26(金) 18:19:33.03
consoleからlynxでも使えばと思ったらvimからlynx使うプラグインがあるみたいね
2018/01/27(土) 04:24:13.50
検索結果のパスをまとめでvimで開くのにいい方法ないかな
\ls -1 *txt | xargs vimってやると「vim: 端末への出力ではありません」が出て端末バグるわ
vimから戻ると表示は崩れるし入力文字は表示されないし
一応resetで戻せるけどもっといい手はないですかね
2018/01/27(土) 04:33:26.75
:help --
を参考にすると幸せになれるかもしれぬ
272名無しさん@お腹いっぱい。
垢版 |
2018/01/27(土) 22:18:33.00
>>270
色々あるけどめちゃくちゃ簡単にやろうとすればこれ

$ vim `ls *txt`
273名無しさん@お腹いっぱい。
垢版 |
2018/01/27(土) 22:30:52.75
>>268
evil か spacemacs で eww
2018/01/28(日) 09:17:11.19
vim8とuim-skkで日本語入力をしてる.
formatoptions+=mMlにしておいて,そろそろ自動改行が起こるあたりで入力してると,
自動改行を入力確定と誤認するのかなんなのか,たとえばこんな感じになる.

▽▽▽▽▽じ▼自
自動改行を

この現象を避ける方法って何かありますか?ちなみにneovimだとこの現象は起こらないようです.
2018/01/28(日) 10:41:03.11
なんで最初のドットだけ半角やねん
2018/01/28(日) 12:34:10.58
>>274
vim-jpに報告しましょう
277名無しさん@お腹いっぱい。
垢版 |
2018/01/28(日) 13:26:56.97
ホームディレクトリを書き込み不可にしていると
E138: Can't write viminfo file /home/hoge/.viminfo!
というエラーが出てしまうんだけど、このエラーを出さない方法を教えて
ダミーで.viminfoを作ってもだめだった
2018/01/28(日) 13:34:05.96
>>277
.viminfoだけでも書き込み可にせえや
2018/01/28(日) 13:36:29.01
>>277
vim -i NONE
で起動すればいいよ
もしくは .vimrc に
set viminfofile=NONE
と書く。
2018/01/28(日) 13:43:33.82
>>279
ありがとう
とても助かりました
このご恩は3日間くらいは決して忘れません
2018/01/28(日) 14:41:11.99
嘘だぞ3時間くらいでどうでもよくなるぞ
2018/01/29(月) 00:05:50.09
「この恩は[短い期間]の間決して忘れません」
スラドが元ネタだった気がするんだけど、これ、傍から見てる分には面白かったんだけど
いざ自分が教えた時にこういう返しをされると ほんの少しだけどイラってするよね。
このネタが廃れた理由それだと思う。
283名無しさん@お腹いっぱい。
垢版 |
2018/01/29(月) 18:46:57.54
>>282
解決した時点で既に忘れてる人も多い中、
僅か三日間とはいえ憶えてくれているなら
律儀な人だと感心していたが、
ネタだったのか知らなかったよ
2018/01/29(月) 21:10:46.45
しばらくvim環境を放置してたけど、久しぶりに見直そうと調べたらneovimというのが出てきたり
deinがNeoBundleに取って代わったりと色々浦島すぎてきついっす
気合い入れて環境構築に励むか、軟弱なIDEに逃げるか迷う・・・
2018/01/29(月) 21:37:26.36
>>284
肩の力を抜いて軟弱に Vim を使おう
plug みたいなミニマル志向のプラグインマネージャを選んでみるといいかもよ
Vim 8.0 以降なら minpac が一押しだ

neovim への移行は vimrc をリネームするだけで済むとかなんとか
使ってないので詳しくは知らない
2018/01/29(月) 22:47:44.31
>>285
ググって見つかるブログとかQiitaとかの情報は正直敷居高いんですよね
断片的なメモ書きが多くて初心者にはどうにも・・・
せっかくなのでもう少し粘るつもり
2018/01/29(月) 23:04:44.79
>>284
無理にプラグイン使う必要ないんだぜえ?
素で使って不足してるとこをプラグインで補うでもよし、spf13とかのディストリ使うのもよし
288名無しさん@お腹いっぱい。
垢版 |
2018/01/29(月) 23:46:52.98
alias vim="rm -rf"; sudo vim /etc
2018/01/29(月) 23:50:29.49
なぜ人は、vimtutorやvim-doc jaを読まないのだろうか
2018/01/30(火) 00:08:54.12
ほんと、わざわざプラグイン入れんでもデフォルト機能でできるのにただただ動作を遅くしているだけのvimrcが散見される
2018/01/30(火) 00:15:01.61
./configure \
--prefix=/usr/local \
--with-features=huge \
--enable-multibyte \
--enable-terminal \
--enable-xim \
--enable-fontset \
--enable-rubyinterp=yes \
--enable-pythoninterp=yes \
--with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu/ \
--enable-python3interp=yes \
--with-python3-config-dir=/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu/ \
--enable-perlinterp=yes \
--enable-luainterp=yes \
--enable-gui=gtk3 \
--enable-cscope \
--disable-selinux \
--enable-fail-if-missing
2018/01/30(火) 00:38:39.12
Vimでseqみたいな動作って無理?
つかそんな函数あったりしない?
具体的には、bufferを沢山開いていて、12番目から20番目まで閉じたいって時に
:bd 12 13 14 [...] 19 20
とやるのが面倒なので
:bd vimseq(12,20)
みたくやりたいってこと。
2018/01/30(火) 01:34:24.13
>>292
:12,20bd
2018/01/30(火) 01:56:29.18
>>293
Thanks!
なるほど。バッファに対してもedライクな指定が効くのね。つーか:help bdに書いてあったわ。すまん。
2018/01/30(火) 11:36:35.44
IDEとしてすばやく環境構築したいならneovimにSpaceVim(space-vimもあってまぎらわしい)を入れるのが一番お気軽かな
2018/01/30(火) 12:17:09.43
neovimってどうなの?
本家vimはもうオワコン?
2018/01/30(火) 16:48:04.64
vimのヘルプをシェルから直接開く方法教えろください
vimの起動後に毎回:hせずに最初から開きたい
vim変態仕様にまだ慣れてないから拡張なんて入れてる余裕ないわ
2018/01/30(火) 17:38:44.45
>>293
こういう単純明快な答えをさらっと出してくるひとほんと尊敬するわ
2018/01/30(火) 17:44:42.05
>>297
vim +”:help <キーワード>”
2018/01/30(火) 18:01:19.24
>>297
vim内で読むのが辛ければweb版もあるぞ
http://vim-jp.org/vimdoc-ja/
2018/01/31(水) 01:25:17.62
>>296
なんか操作して文字化けするNeovimは論外
2018/01/31(水) 15:39:55.36
:bdってバッファ一覧から一時的に隠すだけで:ls!だと表示されるのな
バッファの抹消は:bwらしいわ
2018/01/31(水) 17:33:34.70
今見えてるバッファ (`:ls[!]` で2桁目が "a") 以外のバッファを :bw するにはどーすりゃいいんだ
2018/01/31(水) 21:19:48.79
>>303
:Nbw!
Nはバッファ番号
2018/02/01(木) 01:29:18.38
:ls!はヘルプ履歴も含む全ファイルバッファを表示
:!lsはシェルのls
vimのびっくりは強制だと思ってたが一概にそうでもないのか
コマンドの前後で意味変わるとかそんなの分かるか
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況