• 線上工具
  • - 計算器
    • 字元計數
  • - 下載
    • TikTok 下載
    • 抖音下載
  • - 網路工具
    • BASE64
    • Base64 轉圖片
    • 圖片轉 Base64
    • URL 編碼
    • JavaScript
    • 時間戳
    • Unicode 轉換器
    • JSON 格式化
    • 修改副檔名
    • 製作列表
    • CSS 優化器
  • - 加密工具
    • MD5 加密
    • 隨機生成器
  • - 圖像工具
    • 圖像壓縮
    • QR 碼生成器
    • QR 碼識別器
    • 壁紙預覽
    • 圖片 EXIF
  • - 資訊表
    • 血型遺傳
    • 服裝尺寸
    • app.tool_clock
  • [email protected]
DopuBox
  • English
  • Español
  • Français
  • 日本語
  • 한국어
  • 简体中文
  • 繁體中文
全部 ニュース Meta Code 文化・アート
Vimからshellにアクセスしたり、外部コマンドを実行したりする方法
2022-02-11

Vimは、すでに知っているように、多くの特性を含む強力なエディタです。Vimに関するチュートリアルをたくさん書きました。基本的な使い方、プラグイン、その他の有用な特性をカバーしています。Vimが海洋のような特性を提供していることを考えると、私たちはいつも読者と共有するために役立つものを見つけることができます。

このチュートリアルでは、編集ウィンドウで外部のコマンドを実行し、コマンドラインshellにアクセスする方法に重点を置きます。

しかし、私たちが始める前に、このチュートリアルで言及したすべての例、コマンドライン、説明をUbuntu 14.04でテストしました。私たちが使用しているVimバージョンは7.4です。

Vimで外部コマンドを実行する

Vim編集ウィンドウで外部コマンドを実行する必要がある場合があります。たとえば、Vimでファイルを開き、いくつかの変更を行い、これらの変更を保存しようとすると、Vimは十分な権限がないというエラーを投げ出します。

現在のvimセッションを終了し、ファイルを開くのに十分な権限を再使用すると、すべての変更が失われることを意味します。そのため、ほとんどの場合、選択肢は1つだけではありません。このような場合、エディタ内で外部コマンドを実行する能力が役立ちます。

後で上記の例に戻りますが、vimで基本的なコマンドを実行する方法について説明します。

ファイルを編集しているとします。このファイルに含まれる行数、単語数、文字数を知りたいとします。この目的を達成するためにvimのコマンドラインモードでは、コロンを入力するだけです:、次の感嘆符!、最後に、実行するコマンド(この例ではwcが使用されています)と直後のファイル名(%を使用して現在のファイルを表します)。

:! wc %

これは例です。

入力された上で説明したコマンドラインは、実行の準備をします。

次に、端末の出力を示します。

出力が表示されたら、リターンキーを入力するとvimセッションに戻ります。

コードやスクリプトを作成しており、このコードやスクリプトにコンパイル時のエラーや構文エラーが含まれているかどうかをできるだけ早く知りたいと思っています。このとき、この特性は本当に便利です。

続けて、ファイルに出力を追加する必要がある場合は、readを使用します。で行ないます。次に例を示します。

:read ! wc %

readコマンドは、外部コマンドの出力を編集したファイルの現在の行の次の行に新しい行として挿入します。必要に応じて、特定の行番号を指定することもできます。出力は特定の行の後に追加されます。

たとえば、次のコマンドは、ファイルの2行目の後にwcの出力を追加します。

:2read ! wc %

注意:$を使用して最後の行に挿入し、0を最初の行の前に挿入します。

次に、最初に説明した例に戻ります。次のコマンドは、ファイルを閉じる必要がなく、ファイルを保存し(保存されていないコンテンツが失われないことを意味します)、sudoコマンドを使用して再開するのに役立ちます。

:w ! sudo tee %

Vimでshellにアクセス

個別のコマンドを実行するだけでなく、vimに自分が新しく作成したshellを入れることもできます。この目的を達成するには、エディタで次のコマンドを実行する必要があります。

:shell

または、

:sh

shellタスクを完了したらexitを入力します。これにより、元のVimセッションに戻ります。

注意すべき抜け穴

実際の世界では、アクセス可能なshellは絶対にユーザー権限に合致しますが、権限付与技術にも使用できます。以前の記事(sudoeditで)で説明したように、ユーザーsudoに提供された権限がVimでファイルを編集するだけであっても、この技術を使用してエディタから新しいshellを実行することができ、rootユーザーまたは管理者ユーザーができるすべてのコンテンツを作成することができます。

まとめ

Vimで外部コマンドを実行できるのは、多くのシーン(この記事で説明したシーンもあります)で役立ちます。この機能の学習曲線は面倒ではないので、初心者でも経験のあるユーザーでもよく使えます。


ソース元URL:https://dopubox.com/article/p/044150c91aa2d7df

其他工具
  • 字元計數 TikTok 下載 抖音下載 BASE64 Base64 轉圖片 圖片轉 Base64 URL 編碼 JavaScript 時間戳 Unicode 轉換器 JSON 格式化 修改副檔名 製作列表 CSS 優化器 MD5 加密 隨機生成器 圖像壓縮 QR 碼生成器 QR 碼識別器 壁紙預覽 圖片 EXIF 血型遺傳 服裝尺寸 app.tool_clock
  • “ひばり”の愛称にふさわしい美しいメロディ。ハイドンの『弦楽四重奏曲第67番』【クラシック今日は何の日?】
    2024-05-30

    鳥取・大山でたいまつ行列 夏山開き前夜祭
    2024-06-01

    現代詩の「中原中也賞」、俳句で培われた言語感覚…「新たな音やリズム」ジャンルを往来し追求
    2024-06-02

    森鷗外の教師像に迫る 研究の「盲点」、記念館で特別展 学生の評判も紹介
    2024-06-01

    道後温泉の記憶を継承するアート 大竹伸朗が“描き”重要文化財を守ったテント膜「熱景」の再生
    2024-06-03

    峰不二子役の増山江威子さん死去 声優、艶ある声でルパン翻弄
    2024-06-03

    イタリア・ヴェローナの歴史あるレストランをパトリシア・ウルキオラが再解釈。
    2024-06-03

    「ロバート」秋山さんが鳥取PR イリュージョニストに扮し
    2024-06-04

    今週末に見たい展覧会ベスト12。山武市百年後芸術祭、版画の青春、北斎に三島喜美代まで
    2024-06-04

    お台場エリアを舞台に新芸術祭「東京お台場トリエンナーレ 2025」が誕生
    2024-06-05

    エドガー・サラン個展「EDGAR SARIN ー HUNKY DORY」(VAGUE KOBE)レポート。展示空間の可能性やその調和の在り方を問いかける
    2024-06-04

    週末見たい展覧会5選。今週はTRIO展、吉田克朗展、建築の構造デザインに焦点を当てた展覧会など。【2024年6月第2週】
    2024-06-05

    大学入学共通テスト、追試は本試験1週間後 コロナ禍前に戻す 月経痛の配慮明記も
    2024-06-05

    岡田将生の初ブランド「IN MY DEN」始動、第1弾グッズの受注販売がスタート
    2024-06-06

    そごう・西武が百貨店として初めてNFTマーケット開設、NFT作品約100点を発売
    2024-06-06

    藤井、棋聖戦5連覇へ白星発進
    2024-06-06

    写真家の吉田ルイ子さん死去 「ハーレムの熱い日々」
    2024-06-06

    「江戸期より後の遺構」 世界遺産目指す佐渡の金山、一部除外勧告
    2024-06-06

    向田邦子の名言「…これが私の料理のお稽古なのです。」【本と名言365】
    2024-06-07

    今週末に見たい展覧会ベスト8。閉幕の横浜トリエンナーレから、「梅津庸一 クリスタルパレス」、石川九楊の2ヶ月連続個展まで
    2024-06-06

    ©  Dopu Box
    💛