--- sidebar_position: 4 id: "wsh" title: "Wsh" --- # wsh command The `wsh` command is always available from Wave blocks. It is a powerful tool for interacting with Wave blocks and can bridge data between your CLI and the widget GUIs. --- ## view You can open a preview block with the contents of any file or directory by running: ``` wsh view [path] ``` You can use this command to easily preview images, markdown files, and directories. For code/text files this will open a codeedit block which you can use to quickly edit the file using Wave's embedded graphical editor. --- ## edit ``` wsh edit [path] ``` This will open up codeedit for the specified file. This is useful for quickly editing files on a local or remote machine in our graphical editor. This command will wait until the file is closed before exiting (unlike \`view\`) so you can set your \`$EDITOR\` to \`wsh editor\` for a seamless experience. You can combine this with a \`-m\` flag to open the editor in magnified mode. --- ## getmeta You can view the metadata of any block by running: ``` wsh getmeta [blockid] ``` This is especially useful for preview and web blocks as you can see the file or url that they are pointing to and use that in your CLI scripts. --- ## setmeta You can update any metadata key value pair for blocks (and tabs) by using the setmeta command: ``` wsh setmeta [blockid] [key]=[value] wsh setmeta [blockid] file=~/myfile.txt wsh setmeta [blockid] url=https://waveterm.dev/ ``` You can get block and tab ids by right clicking on the appropriate block and selecting "Copy BlockId". When you update the metadata for a preview or web block you'll see the changes reflected instantly in the block. Other useful metadata values to override block titles, icons, colors, themes, etc. --- ## deleteblock ``` wsh deleteblock [blockid] ``` This will delete the block with the specified id. --- ## ssh ``` wsh ssh [user@host] ``` This will use Wave's internal ssh implementation to connect to the specified remote machine. --- ## web You can search for a given url using: ``` wsh web ``` Alternatively, you can search with the configured search engine using: ``` wsh web ``` Both of these commands will open a new web block with the desired page. --- ## conn This has several subcommands which all perform various features related to connections. ### status ``` wsh conn status ``` This command gives the status of all connections made since waveterm started. ### reinstall ``` wsh conn reinstall [user@host] ``` This command reinstalls the Wave Shell Extensions on the specified connection. ### disconnect ``` wsh conn disconnect [user@host] ``` This command completely disconnects the specified connection. This will apply to all blocks where the connection is being used ### connect ``` wsh conn connect [user@host] ``` This command connects to the specified connection but does not create a block for it. ### ensure ``` wsh conn ensure [user@host] ``` This command connects to the specified connection if it isn't already connected. ### setconfig ``` wsh setconfig [config name]=[config value] ``` This allows setting various options in the `config/settings.json` file. It will check to be sure a valid config option was provided.