問題タブ [xclip]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vim - Vim、xclip でヤンク、エスケープ文字を取り除く
vim を使用して、ssh を介していくつかのシステムでファイルを編集していますが、その中には -clipboard オプションがコンパイルされているものとないものがあります。したがって、xclip を使用して、テキストの一部を X クリップボードにコピーしようとしています。すぐに ssh 経由で自分のマシンにパイプで戻り、そこで使用できます。
今、私は知っています、私は使うことができます
行全体をクリップボードにコピーしたいが、行全体をコピーしたくない場合は、任意の選択が必要です
それを修正するために、選択を@iレジスタに保存し、それをxclipにパイプするバインディングを作成しました
1行内のテキストの選択ではうまくいくようですが、エスケープ文字が保持されているようで、たとえば次のように複数行をコピーすると
xclipで次のようになります-改行のエスケープはまだあります
シェルエスケープとエスケープのいくつかのバリエーションを使用してみましたが、それらはすべてエスケープ文字をそのまま残しているようです。自分で修正するのに十分なvimscriptingを知りません。
vim と xclip に関してすでにいくつかの質問があることは知っていますが、どれも答えを見つけることができませんでした。
前もって感謝します!
linux - xsel/xclipの貼り付け時に「入力」を避ける
これはやや単純だと思いますが、それでも方法がわかりません。次の関数を定義しています。
タイムスタンプを取得してクリップボードに入れます。主にこれを使用してファイルに名前を付けたいので、たとえば
しかし、端末に日付を貼り付けると(control + shift + Vを使用)、すでにコマンドが入力されているため、入力する機会がありません_somemorethings.txt
. つまり、xclip
保存される最後の文字は Enter キーです。これは、上で定義した関数だけでなく、何かをxclip
orにパイプするたびに発生します。xsel
これは重要ではないように思えますが、この小さな問題を修正できれば、生産性が大幅に向上します。
と の両方xclip
でいくつかのオプションを試しxsel
ましたが、これを克服するものは何もないようです。何か案は?これは可能ですか?
bash - シェル スクリプト内のコードは、他の操作の前に実行されます
この同じ問題は、 Unix & Linux StackExchange コミュニティに投稿された質問でより適切に定式化されています。
キーを押すと開き、新しいターミナル(gnome-terminal)を開き、scrot(スクリーンショットツール)を実行し、ランダムな名前で写真をディレクトリに保存し、pomf.catにアップロードしてリンクをコピーするスクリプトをプログラミングしていますクリップボード。
これはうまくいきます。私が今やろうとしているのは、アップロードが完了したら、ターミナルを閉じることです。
私のスクリプトは次のように機能します:
ショートカット (PrtScr) -> gnome-terminal -e "python path/to/script.py" -> Scrot を開始 -> ファイルを保存 (ファイルへのパスを記憶) -> bash script2.sh path/to/picture -> アップロードpomf.cat へ -> リンクを取得 -> 「xclip -selection clipboard」でクリップボードに入れる
文字列をクリップボードに入れた後にターミナルを閉じたいので、これを追加しました:
これの問題は、クリップボードに何もコピーされず、端末が閉じられることです。
ただし、「&& sleep 1 && pkill terminal」がないと、リンクはコピーされますが、ターミナルは開いたままになります。
前もって感謝します。
//編集
最初のスクリプト (scrot の実行用)
2 番目のスクリプト (スクリーンショットのアップロード用)