CMI provides method to create any command which will perform one or multiple defined commands.
Custom alias support specialised commands
For simple alias creation with one command use /cmi aliaseditor new [alias]-[original command] in example to create /h as alias for /cmi heal perform /cmi aliaseditor new h-cmi heal [playerName] $1- where [playerName] will get replaced with players name who performed alias command. $1- will mean that any extra variables added into alias will be placed at this point. In example /h zrips 10 will actually perform /cmi heal zrips 10 command.
You can use build in editor to add more than one command. Simply perform /cmi aliaseditor and scroll down to your desired alias, click on it and you will get command list. You can edit them, remove, change order, add new ones.
Alias with 2 commands like:
– asConsole! moneycost:20#?! cmi heal [playerName] -s
– asConsole! msg [playerName] !&2You just been healed by God’s of minecraft!
will result in charging player with money by taking out 20 bucks of hies balance. In case he doesn’t have money, then he will get message informing about this. This is made possible by using ? sign. Check specialised commands for this. And if he doesn’t have enough money, then second command will not be performed, this is because # is used in condition variable. Condition variable always ends with ! and ? # is optional variables. In case player had money, then /cmi heal Zrips -s command will get performed from console, which will result in quite command performance and then second command will get performed and message will be sent to target player.
Alias with delay in commands:
– asConsole! cmi launch [playerName]
– delay! 3
– asConsole! cmi launch [playerName]
will result in player being launched into air where he is looking at, and after 3 seconds he will be launched again.
Posible ? variable. This should be used in alias itself and mainly used to print out help page if player enters incorrect sub command. In example /cmi aliaseditot new tipi sub-asConsole! cmi msg [playerName] apple and /cmi aliaseditot new tipi ?-asConsole! cmi msg [playerName] carrot and when player performs /tipi he gets response of carrot, /tipi bla results in carrot, but /tipi sub results in apple
Custom Tab Completes
There is option to either disable tab completes entirely or to use custom ones. By default plugin will try to suggest tab completes by using first command in your custom alias. Which obviously could be something what is not what you want to have. For this you can define your own tab completes by ether providing specific words or using some of the dynamic variables provided in the list below.
Custom tab completes can be modified by clicking the grey CustomTab text in customAlias editor.
Tab completes can branch out, which means that picking one variable you will get completely different ones if you would have picked different one. Lets use basic example:
- first subFirst
- second subSecond
In this case you will have “first second” as initial suggestion, while picking “second” will suggest you a “subSecond” only
In case you want to provide multiple choices then separate them with a comma “,” so basic example
- first subFirst,subSecond,[playername]
This will not only allow to pick from “subFirst” and “sunSecond” but will add online player names into suggestions
Dynamic tab complete variables
- [allPlayername] – All players including vanished ones
- [playername] – All players excluding vanished ones
- [mutedplayername] – All online muted players
- [damageCause] – Damage cause variations
- [bannedplayername] – Banned player names
- [gamemode] – Game modes
- [worlds] – Worlds
- [itemname] – Materials
- [EntityType] – Entity Types
- [cleanEntityType] – Entity Types without _
- [kit] – Kit names by access
- [kitnames] – Kit config names by access
- [kitp] – Kits by preview access
- [chatroom] – Chat rooms
- [biome] – Biomes
- [treeType] – Tree types
- [maxplayers] – Server max player limit
- [potioneffect] – Potion effects
- [effect] – Particle effects
- [merchants] – Villager professions
- [enchant] – Enchant names
- [halfViewRange] – Half of the max server view range
- [doubleViewRange] – Double of max server view range
- [ViewRange] – Server view range
- [maxenchantlevel] – Max enchant level. Uses the previous variable to determine enchantment
- [currentItemName] – Item name in the main hand
- [loreLine] – Lists numbers of lore lines of the item in the main hand
- [currentItemLore] – Lists lore of item in the main hand
- [currentX] – Current player X position
- [currentY] – Current player Y position
- [currentZ] – Current player Z position
- [currentWorld] – World name player is in
- [currentPitch] – Players pitch
- [currentYaw] – Players yaw
- [itemFlag] – Item flag values
- [nickName] – Users display name
- [nickNames] – All online users nicknames
- [homes] – Users’ home list
- [warps] – Warps by access to them
- [allwarps] – All warps
- [playerwarps] – Warps by access to them
- [rankname] – Rank names
- [statstype] – Statistics names
- [statssubtype] – Sub-statistics names. Uses the previous variable to determine the main statistic
- [motd] – Servers motd
- [bungeeserver] – Bungee servers
- [scheduleName] – Schedule names
- [ctext] – Custom text names
- [jail] – Jail names
- [cellId] – Cell ids. Uses the previous variable to determine jail
- [sound] – Sound names
- [placeholders] – Placeholders
- [warncategory] – Warn categories
- [projectiletype] – Projectile types
- [holograms] – Hologram names
- [mobtype] – Mob types
- [signLine] – Sign line text. Uses the previous variable to determine the line number
- [allportals] – All portals, including disabled ones.
- [portals] – All enabled portals
- [playeritems] – List of all items in the player’s inventory.
- [gamerule] – List of world gamerules.
- [attachedCommand] – List of commands attached to the item the player is holding in their main hand.
- [customalias] – List of custom aliases.
Microsoft 365, Microsoft Office, Microsoft Office for Mac, Microsoft Word, Office 2007, Office 2010, Office 2013, Office 2016, Office 2019, Office 2021 / Office LTSC, Office 365 /
Styles /
8 December 2021
Rename Word styles or give them alternative names/aliases. Sometimes you’ve got no choice but to make an alias because the original style name is fixed.
Any style can have an alternative name which appears in the Style Gallery. That’s a useful trick because there’s limited space for the style name on the Gallery and the important part of the name doesn’t appear.
See Fix your Word Style Gallery
Here’s the three ‘Intense ..’ styles in Word. As you can see, the names are cut off.
Clearer names are possible like this:
Another common style renaming is the Heading styles. ‘Heading 1’ becomes H1, ‘Heading 2’ alias is ‘H2’
To rename a style, right-click on any style in the Style Gallery and choose Rename.
Renaming in-built styles
Word won’t let you rename an in-built style such as Headings and the three Intense styles mentioned above.
If you try to rename, it creates an alias or alternative name for the same style. See that in the Modify Style dialog.
The original in-built style name remains with the alternative name (created via Rename Style) after a comma.
The comma separates the main style name from the alternative name for the Gallery.
The two names are also visible in the Styles Pane.
Aliases for Custom styles
Renaming a Custom style (i.e. not inbuilt with Word) does a full rename for the style.
It’s still possible to have a short name or alias for a style. Just add the comma separator yourself.
Right click on a style in the gallery and choose Rename. We have a style called ‘MineALLMine’ which is too long for the gallery.
Instead of changing the style name, type a comma then an alternative name.
Now the same style appears in the Gallery with the short name.
Inbuilt style or not?
What if you don’t know if the style is in-built or not? How to know whether to rename with the comma (custom style) or no comma (in-built)?
It doesn’t matter, if you always rename with the comma separating the full style name from the alias. That works for all styles.
Show a Word style marked ‘Hide until used’.
What does Word style ‘Automatically update’ really mean?
Change Word style to match current paragraph
Hi, I hope I put this in the right spot. I’m making (and stealing) a bunch of custom word packs for Skribl.io -> (skribbl.io — Free Multiplayer Drawing & Guessing Game) <- Why am I making this? I like Skriblio and I’m annoyed that there’s not a whole lot of premade ready to use word packs for players to copy and paste in. Why are some not capitalized? Because that’s dumb and I hate it. Feel free to use these as much as you want, share them with your friends, add your own custom words below or copy and paste them to other websites. I’ll try to update them as I go along. Enjoy!
Clash Royale cards:
Archers, arrows, baby dragon, balloon, bandit, barbarian barrel, barbarian hut, barbarians, bats, battle ram, bomber, bomber tower, bowler, cannon, cannon cart, clone spell, dark prince, dart goblin, electro wizard, elite barbarians, elixir collector, executioner, fire spirits, fireball, flying machine, freeze, furnace, giant, giant skeleton, goblin barrel, goblin gang, goblin hut, goblins, golem, graveyard, guards, heal, hog rider, hunter, ice golem, ice spirit, ice wizard, inferno dragon, inferno tower, knight, lava hound, lava pups, lightning, lumberjack, magic archer, mega knight, mega minion, miner, mini pekka, minion horde, minions, mirror, mortar, musketeer, night witch, pekka, poison, prince, princess, rage, rocket, royal ghost, royal giant, skeleton army, skeleton barrel, skeletons, sparky, spear goblin, tesla, the log, three musketeers, tombstone, tornado, valkyrie, witch, wizard, x-bow, zap, zappies,
Dota 2:
abaddon, alchemist, ancient apparition, Anti-mage, arc warden, axe, bane, batrider, beastmaster, bloodseeker, bounty hunter, brewmaster, bristleback, broodmother, centaur warrunner, chaos knight, chen, clinkz, clockwerk, crystal maiden, dark seer, dark willow, dazzle, death prophet, disruptor, doom, dragon knight, drow ranger, earth spirit, earthshaker, elder titan, ember spirit, enchantress, enigma, faceless void, grimstroke, gyrocopter, huskar, invoker, io, jakiro, juggernaut, keeper of the light, kunkka, legion commander, leshrac, lich, lifestealer, lina, lion, lone druid, luna, lycan, magnus, mars, medusa, meepo, mirana, monkey king, morphling, naga siren, natures prophet, necrophos, night stalker, nyx assassin, ogre magi, omniknight, oracle, outworld devourer, pangolier, phantom assassin, phantom lancer, phoenix, puck, pudge, pugna, queen of pain, razor, riki, rubick, sand king, shadow demon, shadow fiend, shadow shaman, silencer, skywrath mage, slardar, slark, sniper, spectre, spirit breaker, storm spirit, sven, techies, templar assassin, terrorblade, tidehunter, timbersaw, tinker weaver, tiny, treant protector, troll warlord, tusk, underlord, undying, ursa, vengeful spirit, venomancer, viper, visage, warlock, windranger, winter wyvern, witch doctor, wraith king, zeus,
Fortnite items and weapons:
apple, assault rifle, banana, bandages, boogie bomb, boom bow, burst smg, bush, Chug jug, coconut, combat shotgun, cozy campfire, damage trap, drum gun, dual pistols, dynamite, flint-knock pistol, grenade launcher, hand cannon, hop rock, hunting rifle, impulse grenade, infantry rifle, jetpack, launch pad, medkit, minigun, mounted turret, mushroom, pepper, pistol, rocket launcher, scoped assault rifle, shield potion, slurp juice, small shield potion, sniper rifle, stink bomb, suppressed pistol, suppressed sniper rifle, tactical shotgun,
Furry phrases and words:
adopt, adoptable, alien, alligator, anthropomorphic, aquatic, arctic, art slave, avian, awh, awooo, bap, beans, bear, big cat, bio, bird, bite, blep, bone fur, boop, buck, bulge, bulls, canine, cat, cerberus, chakat, chicken, citra, colt, commission, convention, cow, coyote, crocodile, cubs, cuddles, deer, demon, digitrade, dinosaur, doe, dog, dolf, dolphin, donkey, dragon, dutch angel dragon, ears, elk, emoji, emoticon, emoticons, everyfur, fangs, feather, feathered, feathery, feline, fennec, feral, ferret, fish, fluffy, folf, fox, fur, furend, furever, furpile, furrific, furry, fursona, fursuit, fursuit maker, fuzzy paws, gargoyle, gazelle, gecko, goat, greymuzle, groomer, growl, grown fur, gryphon, hiiiii, hiss, horse, hug, huggles, hugs, husky, hybrid, hyena, insect, jackalope, jaguar, kiss, kitsune, knot, kobold, komodo dragon, leopard, lick, lifestyler, lion, lipstick, lizard, manatee, marsupial, mate, mates, minotaur, mlem, monster, murr, mursuit, mursuiting, musk, musky, musky husky, muzzle, naga, narwhal, new fur, nibbles, NSFW, NSFW RP, nuzzles, ocelot, orca, other, otter, OvO, OvU, OwO, OwU, partial fursuit, paw, pawsome, pet, petting, pheonix, pixel art, pony, poodling, puffy paws, quetzalcoatl, rabbit, racoon, rawr, reindeer, roar, rodent, role play, role playing, scalie, scaly, sergal, sergeal, SFW, SFW RP, shapeshifter, shark, skunk, slang, snake, snarl, snoot, snout, snow leopard, snuggles, soft, sparkle dog, species, tail, tickle, tiger, toe beans, unicorn, unidentified, UvO, UvU, UwO, UwU, wag, waggles, wags, weasel, whale, wickerbeast, wiggles, wolf, wolpertinger, wuv, wuzzles, wyvern, yiff, yiffalicious, yiffing, yiffy, young fur,
League of Legends:
Aatrox, ahri, akali, alistar, amumu, anivia, annie,ashe,aurelion sol, azir, bard, blitzcrank, brand, braum, caitlyn, camille, cassiopeia, chogath, corki, darius, diana, dr mundo, draven, ekko, elise, evelynn, ezreal, fiddlesticks, fiora, fizz, galio, gangplank, garen, gnar, gragas, graves, hecarim, heimerdinger, illaoi, irelia, ivern, janna, jarvan iv , jax, jayce, jhin, jinx, kaisa, kalista, karma, karthus, kassadin, katarina, kayle, kayn, kennen, khazix, kindred, kled, kogmaw, leblanc, lee sin, leona, lissandra, lucian, lulu, lux, malphite, malzahar, maoki, master yi, miss fortune, mordekaiser, morgana, nami, nasus, nautilus, neeko, nidalee, nocturne, nunu, olaf, orianna, ornn, pantheon, poppy, pyke, quinn, rakan, rammus, reksai, renekton, rengar, riven, rumble, ryze, sejuani, shaco, shen, shyvana, singed, sion, sivir, skarner, sona, soraka, swain, sylas, syndra, tahm kench, taliyah, talon, taric, teemo, thresh, tristana, trundle, tryndamere, twisted fate, twitch, udyr, urgot, varus, vayne, veigar, velkoz, vi, viktor, vladimir, volibear, warwick, wukong, xayah, xerath, xin zhao, yasuo, yorick, yuumi, zac, zed, ziggs, zilean, zoe, zyra,
Minecraft:
anvil, axe, bat, bed, blaze, bookshelf, bow, cave spider, chest, chicken, coal, cow, crafting table, creeper, diamond, dolphin, donkey, drowned, elder guardian, emerald, enchanting table, ender chest, ender dragon, enderman, endermite, evoker, fishing rod, flint and steel, fox, furnace, ghast, gold, guardian, helmet, herobrine, hoe, horse, husk, iron golem, jukebox, llama, magma cube, mule, music disc, nether portal, obsidian, ocelot, panda, parrot, phantom, pig, pillager, rabbit, ravager, shears, sheep, shovel, shulker, silverfish, skeleton, slime, spider, spider jockey, squid, Steve, stray, sword, TNT, torch, trident, turtle, vex, villager, vindicator, witch, wither skeleton, wolf, zombie, zombie pigman, zombie villager,
Overwatch:
Ana, ashe, baptiste, bastion, brigitte, d.va, doomfist, genji, hanzo, junkrat, lucio, mccree, mei, mercy, moira, orisa, pharah, reaper, reinhardt, roadhog, soldier 76, sombra, symmetra, torbjorn, tracer, widowmaker, winston, wrecking ball, zarya, zenyatta,
Pokemon (first gen.):
Bulbasaur, ivysaur, venusaur, charmander, charmeleon, charizard, squirtle, wartortle, blastoise, caterpie, metapod, butterfree, weedle, kakuna, beedrill, pidgey, pidgeotto, pidgeot, rattata, raticate, spearow, fearow, ekans, arbok, pikachu, raichu, sandshrew, sandslash, nidoran, nidorina, nidoqueen, nidorino, nidoking, clefairy, clefable, vulpix, ninetales, jigglypuff, wigglytuff, zubat, golbat, oddish, gloom, vileplume, paras, parasect, venonat, venomoth, diglett, dugtrio, meowth, persian, psyduck, golduck, mankey, primeape, growlithe, arcanine, poliwag, poliwhirl, poliwrath, abra, kadabra, alakazam, machop, machoke, machamp, bellsprout, weepinbell, victreebel, tentacool, tentacruel, geodude, graveler, golem, ponyta, rapidash, slowpoke, slowbro, magnemite, magneton, farfetch’d, doduo, dodrio, seel, dewgong, grimer, muk, shellder, cloyster, gastly, haunter, genger, onix, drowzee, hypno, krabby, kingler, voltorb, electrode, exeggcute, exeggutor, cubone, marowak, hitmonlee, hitmonchan, lickitung, koffing, weezing, rhyhorn, rhydon, chansey, tangela, kangaskhan, horsea, seadra, goldeen, seaking, staryu, starmie, mr mime, scyther, jynx, electabuzz, magmar, pinsir, tauros, magikarp, gyrados, lapras, ditto, eevee, vaporeon, jolteon, flareon, porygon, omanyte, omastar, kabuto, kabutops, aerodactyl, snorlax, articuno, zapdos, moltres, dratini, dragonair, dragonite, mewtwo, mew,
Runescape skills:
agility, Attack, construction, cooking, crafting, defence, farming, firemaking, fishing, fletching, herblore, hitpoints, hunter, magic, mining, prayer, ranged, runecrafting, slayer, smithing, strength, thieving, woodcutting,
Super Mario Brothers:
birdo, boo, bowser, bowser jr, bullet bill, diddy kong, donkey kong, dragon coin, dry bones, feather, fire flower, goomba, hammer bro, koopa troopa, lakitu, luigi, magikoopa, Mario, piranha plant, princess daisy, princess peach, red coin, shy guy, star power, super mushroom, tanooki suit, toad, waluigi, wario, yoshi,
Super Smash Brothers (and all the sequels):
bayonetta, bowser, bowser jr, captain falcon, chrom, cloud, corrin, daisy, dark pit, dark samus, diddy kong, donkey kong, dr mario, duck hunt, falco, fox, ganondorf, greninja, ice climbers, ike, incineroar, inkling, isabelle, jigglypuff, joker,, ken, king dedede, kirby, link, little mac, lucario, lucas, lucina, luigi, Mario, mario, marth, mega man, meta knight, mewtwo, mii fighter, mr game & watch, ness, olimar, pac-man, palutena, peach, pichu, pikachu, pikmin, piranha plant, pit, pokemon trainer, richter,king k rool, ridley, rob, robin, rosalina, roy, ryu, samus, sheik, shulk, simon, snake, sonic, toon link, villager, waluigi, wario, wii fit trainer, wolf, yoshi, young link, zelda, zero suit samus,
World of Warcraft:
blood elf, death knight, demon hunter, draenei, druid, dwarf, gnome, goblin, Human, hunter, mage, monk, night elf, orc, paladin, pandaren, priest, rogue, shaman, tauren, troll, undead, warlock, warrior, worgen,
Время на прочтение
6 мин
Количество просмотров 9K
Командный интерпретатор bash позволяет задавать произвольные алиасы для разных команд и выражений. Алиасы не являются командами сами по себе, но им, как и командам, можно передавать аргументы. Алиасы позволяют сделать вызов громоздких команд очень простым, с легко запоминающимися названиями.
Использовать Git я привык исключительно из консоли, но на ввод длинных команд с разными аргументами тратится значительное количество времени. Поэтому я ввёл практику использования алиасов. Для безопасных команд я использовал короткие алиасы, которые по сути стали горячими клавишами, а для функциональных — простые короткие слова из состава команд Git. Если команда опасная, то можно сделать её в два слова, написанных через дефис, для исключения случайного ввода. На самом деле, использование алиасов для работы с Git широко практикуется, я решил лишь преподнести отдельный вариант подборки алиасов, которые для меня оказались очень удобными.
Формат задания алиаса имеет следующий вид:
alias name="<выполняемый код>"
Основной проблемой алиасов является то, что они не подхватываются автоматически механизмом автодополнения кода. Их написание отличается от тех команд, которые зарегистрированы в системе автодополнения, поэтому приходится дополнительно регистрировать алиасы, назначая им соответствующие спецификации автодополнения (compspec) через встроенную в bash команду complete
. В случае с Git над complete
существует обёртка __git_complete
, в которую необходимо передавать предопределённые функции-обёртки, начинающиеся с префикса _git_
и оканчивающиеся названием подкоманды git. В Ubuntu весь связанный с этим код можно посмотреть в файле /usr/share/bash-completion/completions/git
.
Алиас |
Действие |
|
Получить изменения с сервера |
|
Просмотреть текущее состояние локального репозитория |
|
Просмотреть текущее состояние локального репозитория и количество изменённых строк |
|
Просмотреть изменения, сделанные в файлах и ожидающие подтверждения, в стандартном diff-формате |
|
Просмотреть изменения, сделанные в файлах и ожидающие подтверждения, с выделением одним только цветом |
|
Список последних коммитов в кратком формате. |
|
Список последних коммитов с развёрнутой информацией о них. |
|
Переход на другую ветку или коммит, создание новой ветки с опцией |
|
Получить изменения с сервера и влить их в текущую ветку. |
|
Сделать коммит (зафиксировать изменения). |
|
Добавить файлы или изменения в будущий коммит. |
|
Отменить добавление изменений в будущий коммит. |
|
Отправить новые коммиты на сервер. |
|
Отправить коммиты на сервер с перезаписью их истории, если другие люди не успели отправить туда свои коммиты. |
|
Влить заданную ветку в текущую. |
|
Добавить изменения в уже сделанный коммит или изменить его комментарий. |
|
Выполнить перезапись истории коммитов, например, переместив коммиты в конец другой ветки. |
|
Переименовывание или удаление локальной ветки |
|
Применить в текущей ветке отдельные существующие коммиты. |
|
Сохранить свои текущие изменения во временное хранилище. |
|
Применить свои текущие изменения из временного хранилища, но не удалять и оттуда. |
|
Забрать свои изменения из временного хранилища и применить их. |
Ниже приведено примерное содержимое файла ~/.bash_aliases
с основными алиасами Git и кодом их автоматической регистрации в механизме автодополнения командой строки.
#!/bin/bash
alias f="git fetch --tags"
alias s="git status"
alias ss="git status && git diff --shortstat"
alias d="git diff"
alias dd="git diff --word-diff=color"
alias l="git log -n 20 --graph --pretty=format:'%Cred%h%Creset %an: %s / %Cgreen%cr%Creset %Creset %C(yellow)%d%Creset' --abbrev-commit --date=relative"
alias ll="git log"
alias go="git checkout"
#или alias gg="git checkout"
alias pull="git pull"
alias commit="git commit"
alias add="git add"
alias reset="git reset"
alias push="git push"
alias push-fix="git push --force-with-lease"
alias merge="git merge"
alias amend="git commit --amend"
alias rebase="git rebase"
alias branch="git branch"
alias pick="git cherry-pick"
alias stash="git stash"
alias apply="git stash apply"
alias pop="git stash pop"
# Регистрируем алиасы в системе автодополнения
git_completions="/usr/share/bash-completion/completions/git"
if [ -f "${git_completions}" ]; then
source "${git_completions}"
# Получаем массивы алиасов и соответствующих им команд git
cmds=( $(alias | grep -v ss | grep -Po '(?<=git )[w-]+' | sed -r 's/[ -]+/_/g') )
aliases=( $(alias | grep -v ss | grep git | grep -Po '(?<=alias )w+') )
# Регистрируем каждый алиас
for (( i = 0; i < ${#aliases[@]}; i++ )); do
a="${aliases[$i]}"
cmd="${cmds[$i]}"
__git_complete "${a}" _git_"${cmd}"
done
fi
Для того, чтобы файл с алиасами применялся при входе в систему, необходимо добавить его подключение в файл ~/.bashrc
с помощью команды source
(или .
). Файл ~/.bashrc
запускается на исполнение всегда при старте командного интерпретатора bash, поэтому если файл редактировался из консоли, потребуется её заново открыть или запустить вложенный командный интерпретатор bash.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
Алиасы s
, d
и l
простые, дают необходимый минимум информации. Задумка двухбуквенных в том, чтобы дать слегка больше информации, если это требуется. С помощью f
можно получить последние изменения в репозитории и влить их в текущую ветку с помощью pull
или pull -r
. Через l
можно посмотреть, что за новые коммиты прилетели в ветку, или что было последним из изменений, а через ll
— подробно изучить коммиты. Переключиться на другую ветку можно через go
, создать новую ветку можно через go -b
. При создании коммита, в общем случае, сначала вводится s
, проверяется на какой мы ветке, какие файлы требуется добавить, затем d
, чтобы проверить свои изменения. Через add
добавляются файлы (или add -i
для выбора отдельных изменений в файлах), через commit -m
создаётся новый коммит. Если вдруг в тексте сообщения коммита оказалась опечатка, можно быстро всё поправить через amend
. Если в main-ветку успели прилететь новые коммиты, можно сделать rebase main
. И потом сделать push
. Если ветка своя собственная, то можно делать rebase -i
с исправлениям прошлых коммитов и отправить модифицированные коммиты через push-fix
.
Если шла работа, но срочно понадобилось переключиться на другую ветку, можно временно убрать свои изменения через stash
, переключиться на другую ветку через go
. Потом можно вернуть изменения с помощью apply
или pop
. Отдельные коммиты из других веток можно применять с помощью pick
, также это может быть полезным, если случайно сделать изменения в отделённом HEAD (например, в подмодуле).
Алиасы могут совпадать с существующими командами. Если такие команды обычно не используются, то это проблемой не является. Если же команды понадобятся, то в случае исполняемых файлов всегда можно указать полный путь к файлу. Не будет проблем и с командами, которые запускаются от имени суперпользователя, поскольку алиасы прописаны лишь для непривилегированного пользователя. Если используется язык Go, то с использованием алиаса go
могут возникнуть проблемы. В качестве решения можно изменить алиас на gg
или gc
, либо же сделать алиас golang
для команды go
. Здесь кому как удобнее.
В Ubuntu 21.10 при использовании алиаса над git checkout
выводятся сообщения об ошибках. Происходит это из-за того, что одна из переменных в целочисленных сравнениях оказывается пустой. Вариантом подавления вывода ошибок является замена в файле /usr/share/bash-completion/completions/git
сравнения через квадратные скобки на арифметическое сравнение через двойные скобки, например, (( var1 < var2 ))
, в которых можно использовать названия переменных без предшествующего знака $
. Такое исправление работает и в zsh, на который автодополнение тоже рассчитано.
Патч, решающий проблему
--- /usr/share/bash-completion/completions/git 2021-08-09 15:29:27.000000000 +0300
+++ ./git 2022-04-08 23:32:38.501198226 +0300
@@ -1011,7 +1011,7 @@
if [ "$cmd" = "remote" ]; then
((c++))
fi
- while [ $c -lt $cword ]; do
+ while (( c < cword )); do
i="${words[c]}"
case "$i" in
--mirror) [ "$cmd" = "push" ] && no_complete_refspec=1 ;;
@@ -1187,7 +1187,7 @@
done
local wordlist="$1"
- while [ $c -lt $cword ]; do
+ while (( c < cword )); do
for word in $wordlist; do
if [ "$word" = "${words[c]}" ]; then
if [ -n "${show_idx-}" ]; then
@@ -1221,7 +1221,7 @@
done
local wordlist="$1"
- while [ $c -gt "$__git_cmd_idx" ]; do
+ while (( c > __git_cmd_idx )); do
((c--))
for word in $wordlist; do
if [ "$word" = "${words[c]}" ]; then
@@ -1283,7 +1283,7 @@
__git_has_doubledash ()
{
local c=1
- while [ $c -lt $cword ]; do
+ while (( c < cword )); do
if [ "--" = "${words[c]}" ]; then
return 0
fi
@@ -1449,7 +1449,7 @@
{
local i c="$__git_cmd_idx" only_local_ref="n" has_r="n"
- while [ $c -lt $cword ]; do
+ while (( c < cword )); do
i="${words[c]}"
case "$i" in
-d|-D|--delete|-m|-M|--move|-c|-C|--copy)
@@ -2479,7 +2479,7 @@
__git_config_get_set_variables ()
{
local prevword word config_file= c=$cword
- while [ $c -gt "$__git_cmd_idx" ]; do
+ while (( c > __git_cmd_idx )); do
word="${words[c]}"
case "$word" in
--system|--global|--local|--file=*)
@@ -3213,7 +3213,7 @@
_git_tag ()
{
local i c="$__git_cmd_idx" f=0
- while [ $c -lt $cword ]; do
+ while (( c < cword )); do
i="${words[c]}"
case "$i" in
-d|--delete|-v|--verify)
@@ -3388,7 +3388,7 @@
local __git_C_args C_args_count=0
local __git_cmd_idx
- while [ $c -lt $cword ]; do
+ while (( c < cword )); do
i="${words[c]}"
case "$i" in
--git-dir=*)
На практике я использую несколько меньший набор алиасов, в списке же привёл все, какие могут пригодиться в повседневной работе. Надеюсь, этот список кому-то окажется полезным, удачного использования!
a guest
Mar 31st, 2020
647
0
Never
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
-
# All aliases to used with this plugin. In example original command for going back to spawn is /cmi spawn
-
# By enabling appropriate alias you can use /spawn to get back to set spawn point
-
# if it interferes with another plugin, just disable it here and reload plugin with /cmi reload
-
# Comment shows command to be performed by using alias defined one line belove it
-
# True/false defines if alias is enabled or disabled
-
#
-
# ATENTION! If you want to have custom alias and not only presets, use ingame command /cmi aliaseditor for this
-
# This file will not accept new custom alias, for that we do have separate file
-
Alias:
-
#
-
# /cmi actionbarmsg $1-
-
/actionbarmsg: true
-
#
-
# /cmi afk $1-
-
/afk: true
-
#
-
# /cmi afkcheck $1-
-
/afkcheck: true
-
#
-
# /cmi air $1-
-
/air: true
-
#
-
# /cmi alert $1-
-
/alert: true
-
#
-
# /cmi aliaseditor $1-
-
/aliaseditor: true
-
#
-
# /cmi anvil $1-
-
/anvil: true
-
#
-
# /cmi armorstand $1-
-
/armorstand: true
-
#
-
# /cmi attachcommand $1-
-
/attachcommand: true
-
/powertool: true
-
#
-
# /cmi back $1-
-
/back: true
-
/cback: true
-
#
-
# /cmi balance $1-
-
/balance: true
-
/bal: true
-
#
-
# /cmi baltop $1-
-
/baltop: true
-
#
-
# /cmi ban $1-
-
/ban: true
-
#
-
# /cmi banlist $1-
-
/banlist: false
-
#
-
# /cmi blockcycling $1-
-
/blockcycling: false
-
#
-
# /cmi blockinfo $1-
-
/blockinfo: false
-
#
-
# /cmi blocknbt $1-
-
/blocknbt: false
-
#
-
# /cmi book $1-
-
/book: false
-
#
-
# /cmi bossbarmsg $1-
-
/bossbarmsg: false
-
#
-
# /cmi broadcast $1-
-
/broadcast: true
-
#
-
# /cmi burn $1-
-
/burn: false
-
#
-
# /cmi charges $1-
-
/charges: true
-
#
-
# /cmi chat $1-
-
/chat: true
-
#
-
# /cmi checkaccount $1-
-
/checkaccount: true
-
#
-
# /cmi checkban $1-
-
/checkban: true
-
#
-
# /cmi checkcommand $1-
-
/checkcommand: false
-
#
-
# /cmi checkexp $1-
-
/checkexp: false
-
#
-
# /cmi checkperm $1-
-
/checkperm: false
-
#
-
# /cmi cheque $1-
-
/cheque: false
-
#
-
# /cmi clear $1-
-
/clear: false
-
/ci: false
-
#
-
# /cmi clearchat $1-
-
/clearchat: false
-
/cc: false
-
#
-
# /cmi clearender $1-
-
/clearender: false
-
#
-
# /cmi colorlimits $1-
-
/colorlimits: false
-
#
-
# /cmi colors $1-
-
/colors: true
-
#
-
# /cmi commandspy $1-
-
/commandspy: false
-
#
-
# /cmi compass $1-
-
/compass: false
-
#
-
# /cmi condense $1-
-
/condense: false
-
#
-
# /cmi counter $1-
-
/counter: true
-
#
-
# /cmi cplaytime $1-
-
/cplaytime: false
-
#
-
# /cmi ctellraw $1-
-
/ctellraw: false
-
#
-
# /cmi ctext $1-
-
/ctext: false
-
#
-
# /cmi cuff $1-
-
/cuff: true
-
# /cmi cuff false $1-
-
/uncuff: true
-
#
-
# /cmi customrecipe $1-
-
/customrecipe: false
-
#
-
# /cmi dback $1-
-
/dback: false
-
#
-
# /cmi disableenchant $1-
-
/disableenchant: false
-
#
-
# /cmi dispose $1-
-
/dispose: true
-
#
-
# /cmi distance $1-
-
/distance: true
-
#
-
# /cmi donate $1-
-
/donate: false
-
#
-
# /cmi dsign $1-
-
/dsign: false
-
#
-
# /cmi dye $1-
-
/dye: false
-
#
-
# /cmi editctext $1-
-
/editctext: false
-
#
-
# /cmi editlocale $1-
-
/editlocale: false
-
#
-
# /cmi editplaytime $1-
-
/editplaytime: false
-
#
-
# /cmi editwarnings $1-
-
/editwarnings: false
-
#
-
# /cmi editwarp $1-
-
/editwarp: false
-
#
-
# /cmi effect $1-
-
/effect: false
-
#
-
# /cmi enchant $1-
-
/enchant: false
-
#
-
# /cmi ender $1-
-
/ender: false
-
/ce: false
-
/ec: false
-
/cend: false
-
/enderchest: false
-
#
-
# /cmi endgateway $1-
-
/endgateway: false
-
#
-
# /cmi entityinfo $1-
-
/entityinfo: false
-
#
-
# /cmi entitynbt $1-
-
/entitynbt: false
-
#
-
# /cmi exp $1-
-
/exp: false
-
#
-
# /cmi ext $1-
-
/ext: false
-
#
-
# /cmi feed $1-
-
/feed: false
-
#
-
# /cmi findbiome $1-
-
/findbiome: false
-
#
-
# /cmi fixchunk $1-
-
/fixchunk: true
-
#
-
# /cmi flightcharge $1-
-
/flightcharge: true
-
# /cmi flightcharge recharge $1-
-
/recharge: true
-
/fcharge: true
-
#
-
# /cmi fly $1-
-
/fly: true
-
#
-
# /cmi flyc $1-
-
/flyc: false
-
#
-
# /cmi flyspeed $1-
-
/flyspeed: true
-
/fspeed: true
-
#
-
# /cmi gamerule $1-
-
/gamerule: false
-
#
-
# /cmi getbook $1-
-
/getbook: false
-
#
-
# /cmi give $1-
-
/give: true
-
#
-
# /cmi giveall $1-
-
/giveall: false
-
#
-
# /cmi glow $1-
-
/glow: false
-
#
-
# /cmi gm $1-
-
/gm: true
-
/gamemode: true
-
# /cmi gm creative $1-
-
/gmc: true
-
# /cmi gm survival $1-
-
/gms: true
-
# /cmi gm spectator $1-
-
/gmsp: true
-
# /cmi gm adventure $1-
-
/gma: true
-
#
-
# /cmi god $1-
-
/god: true
-
#
-
# /cmi groundclean $1-
-
/groundclean: true
-
#
-
# /cmi haspermission $1-
-
/haspermission: false
-
#
-
# /cmi hat $1-
-
/hat: true
-
#
-
# /cmi head $1-
-
/head: true
-
#
-
# /cmi heal $1-
-
/heal: true
-
#
-
# /cmi helpop $1-
-
/helpop: true
-
#
-
# /cmi hideflags $1-
-
/hideflags: false
-
#
-
# /cmi hologram $1-
-
/hologram: false
-
#
-
# /cmi hologrampages $1-
-
/hologrampages: false
-
#
-
# /cmi home $1-
-
/home: true
-
#
-
# /cmi homes $1-
-
/homes: true
-
#
-
# /cmi hunger $1-
-
/hunger: false
-
#
-
# /cmi ic $1-
-
/ic: false
-
#
-
# /cmi ifoffline $1-
-
/ifoffline: true
-
#
-
# /cmi ifonline $1-
-
/ifonline: true
-
#
-
# /cmi ignore $1-
-
/ignore: false
-
/ignorelist: true
-
#
-
# /cmi importfrom $1-
-
/importfrom: false
-
#
-
# /cmi importoldusers $1-
-
/importoldusers: false
-
#
-
# /cmi info $1-
-
/info: false
-
/whois: false
-
#
-
# /cmi inv $1-
-
/inv: false
-
/cinv: false
-
/invsee: true
-
#
-
# /cmi invcheck $1-
-
/invcheck: true
-
#
-
# /cmi invlist $1-
-
/invlist: true
-
#
-
# /cmi invload $1-
-
/invload: true
-
#
-
# /cmi invremove $1-
-
/invremove: true
-
#
-
# /cmi invremoveall $1-
-
/invremoveall: true
-
#
-
# /cmi invsave $1-
-
/invsave: true
-
#
-
# /cmi ipban $1-
-
/ipban: true
-
#
-
# /cmi ipbanlist $1-
-
/ipbanlist: true
-
#
-
# /cmi item $1-
-
/item: false
-
/i: false
-
#
-
# /cmi iteminfo $1-
-
/iteminfo: false
-
#
-
# /cmi itemlore $1-
-
/itemlore: true
-
/ilore: true
-
#
-
# /cmi itemname $1-
-
/itemname: true
-
/iname: true
-
/rename: false
-
#
-
# /cmi itemnbt $1-
-
/itemnbt: false
-
#
-
# /cmi jail $1-
-
/jail: true
-
#
-
# /cmi jailedit $1-
-
/jailedit: false
-
#
-
# /cmi jaillist $1-
-
/jaillist: false
-
#
-
# /cmi jump $1-
-
/jump: false
-
#
-
# /cmi kick $1-
-
/kick: true
-
#
-
# /cmi killall $1-
-
/killall: true
-
#
-
# /cmi kit $1-
-
/kit: false
-
# /cmi kit -preview $1-
-
/kitpreview: true
-
#
-
# /cmi kitcdreset $1-
-
/kitcdreset: false
-
#
-
# /cmi kiteditor $1-
-
/kiteditor: false
-
#
-
# /cmi kitusagereset $1-
-
/kitusagereset: false
-
#
-
# /cmi lastonline $1-
-
/lastonline: true
-
#
-
# /cmi launch $1-
-
/launch: false
-
#
-
# /cmi lfix $1-
-
/lfix: true
-
#
-
# /cmi list $1-
-
/list: false
-
#
-
# /cmi lockip $1-
-
/lockip: true
-
#
-
# /cmi mail $1-
-
/mail: false
-
#
-
# /cmi mailall $1-
-
/mailall: false
-
#
-
# /cmi maintenance $1-
-
/maintenance: false
-
#
-
# /cmi maxhp $1-
-
/maxhp: false
-
#
-
# /cmi maxplayers $1-
-
/maxplayers: true
-
#
-
# /cmi me $1-
-
/me: false
-
#
-
# /cmi merchant $1-
-
/merchant: true
-
#
-
# /cmi migratedatabase $1-
-
/migratedatabase: false
-
#
-
# /cmi mirror $1-
-
/mirror: false
-
#
-
# /cmi mobhead $1-
-
/mobhead: false
-
#
-
# /cmi money $1-
-
/money: true
-
#
-
# /cmi more $1-
-
/more: false
-
#
-
# /cmi msg $1-
-
/msg: false
-
#
-
# /cmi msgtoggle $1-
-
/msgtoggle: false
-
#
-
# /cmi mute $1-
-
/mute: false
-
#
-
# /cmi mutechat $1-
-
/mutechat: false
-
#
-
# /cmi nameplate $1-
-
/nameplate: false
-
#
-
# /cmi near $1-
-
/near: false
-
#
-
# /cmi nick $1-
-
/nick: false
-
#
-
# /cmi notarget $1-
-
/notarget: false
-
#
-
# /cmi note $1-
-
/note: true
-
#
-
# /cmi openbook $1-
-
/openbook: false
-
#
-
# /cmi oplist $1-
-
/oplist: false
-
#
-
# /cmi panimation $1-
-
/panimation: false
-
#
-
# /cmi patrol $1-
-
/patrol: false
-
#
-
# /cmi pay $1-
-
/pay: true
-
#
-
# /cmi paytoggle $1-
-
/paytoggle: false
-
#
-
# /cmi ping $1-
-
/ping: true
-
#
-
# /cmi placeholders $1-
-
/placeholders: false
-
#
-
# /cmi playercollision $1-
-
/playercollision: false
-
#
-
# /cmi playtime $1-
-
/playtime: true
-
#
-
# /cmi playtimetop $1-
-
/playtimetop: false
-
#
-
# /cmi point $1-
-
/point: true
-
#
-
# /cmi portals $1-
-
/portals: false
-
#
-
# /cmi pos $1-
-
/pos: true
-
#
-
# /cmi preview $1-
-
/preview: true
-
#
-
# /cmi prewards $1-
-
/prewards: true
-
#
-
# /cmi ptime $1-
-
/ptime: true
-
#
-
# /cmi purge $1-
-
/purge: false
-
#
-
# /cmi pweather $1-
-
/pweather: true
-
#
-
# /cmi rankdown $1-
-
/rankdown: true
-
#
-
# /cmi rankinfo $1-
-
/rankinfo: false
-
#
-
# /cmi ranklist $1-
-
/ranklist: false
-
#
-
# /cmi rankset $1-
-
/rankset: false
-
#
-
# /cmi rankup $1-
-
/rankup: false
-
#
-
# /cmi realname $1-
-
/realname: false
-
#
-
# /cmi recipe $1-
-
/recipe: false
-
#
-
# /cmi reload $1-
-
/reload: false
-
#
-
# /cmi removehome $1-
-
/removehome: true
-
/delhome: false
-
#
-
# /cmi removeuser $1-
-
/removeuser: false
-
#
-
# /cmi removewarp $1-
-
/removewarp: false
-
/delwarp: true
-
#
-
# /cmi repair $1-
-
/repair: true
-
#
-
# /cmi repaircost $1-
-
/repaircost: true
-
#
-
# /cmi replaceblock $1-
-
/replaceblock: false
-
#
-
# /cmi reply $1-
-
/reply: false
-
/r: false
-
#
-
# /cmi resetdbfields $1-
-
/resetdbfields: false
-
#
-
# /cmi ride $1-
-
/ride: false
-
#
-
# /cmi rt $1-
-
/rt: false
-
#
-
# /cmi sameip $1-
-
/sameip: false
-
#
-
# /cmi saturation $1-
-
/saturation: false
-
#
-
# /cmi saveall $1-
-
/saveall: false
-
#
-
# /cmi saveditems $1-
-
/saveditems: false
-
#
-
# /cmi sc $1-
-
/sc: false
-
/scopy: true
-
#
-
# /cmi scan $1-
-
/scan: true
-
#
-
# /cmi scavenge $1-
-
/scavenge: true
-
/salvage: false
-
/recycle: false
-
#
-
# /cmi schedule $1-
-
/schedule: false
-
#
-
# /cmi se $1-
-
/se: true
-
#
-
# /cmi search $1-
-
/search: true
-
#
-
# /cmi seen $1-
-
/seen: false
-
#
-
# /cmi sell $1-
-
/sell: false
-
#
-
# /cmi sendall $1-
-
/sendall: false
-
#
-
# /cmi server $1-
-
/server: false
-
#
-
# /cmi serverlist $1-
-
/serverlist: false
-
#
-
# /cmi servertime $1-
-
/servertime: false
-
#
-
# /cmi setenchantworth $1-
-
/setenchantworth: false
-
#
-
# /cmi setfirstspawn $1-
-
/setfirstspawn: false
-
#
-
# /cmi sethome $1-
-
/sethome: true
-
#
-
# /cmi setmotd $1-
-
/setmotd: true
-
#
-
# /cmi setrt $1-
-
/setrt: false
-
#
-
# /cmi setspawn $1-
-
/setspawn: true
-
#
-
# /cmi setwarp $1-
-
/setwarp: true
-
#
-
# /cmi setworth $1-
-
/setworth: false
-
#
-
# /cmi shakeitoff $1-
-
/shakeitoff: false
-
#
-
# /cmi shoot $1-
-
/shoot: false
-
#
-
# /cmi signspy $1-
-
/signspy: false
-
#
-
# /cmi silence $1-
-
/silence: false
-
#
-
# /cmi silentchest $1-
-
/silentchest: false
-
#
-
# /cmi sit $1-
-
/sit: true
-
#
-
# /cmi skin $1-
-
/skin: true
-
#
-
# /cmi smite $1-
-
/smite: true
-
/lightning: false
-
/thor: false
-
#
-
# /cmi socialspy $1-
-
/socialspy: true
-
#
-
# /cmi solve $1-
-
/solve: false
-
#
-
# /cmi sound $1-
-
/sound: false
-
#
-
# /cmi spawn $1-
-
/spawn: true
-
#
-
# /cmi spawner $1-
-
/spawner: false
-
#
-
# /cmi spawnereditor $1-
-
/spawnereditor: false
-
#
-
# /cmi spawnmob $1-
-
/spawnmob: true
-
#
-
# /cmi staffmsg $1-
-
/staffmsg: true
-
#
-
# /cmi stats $1-
-
/stats: true
-
#
-
# /cmi statsedit $1-
-
/statsedit: false
-
#
-
# /cmi status $1-
-
/status: false
-
/gc: false
-
/lag: true
-
#
-
# /cmi sudo $1-
-
/sudo: true
-
#
-
# /cmi suicide $1-
-
/suicide: false
-
#
-
# /cmi switchplayerdata $1-
-
/switchplayerdata: false
-
#
-
# /cmi tablistupdate $1-
-
/tablistupdate: false
-
#
-
# /cmi tagtoggle $1-
-
/tagtoggle: false
-
#
-
# /cmi tempban $1-
-
/tempban: true
-
#
-
# /cmi tempipban $1-
-
/tempipban: true
-
#
-
# /cmi tfly $1-
-
/tfly: true
-
#
-
# /cmi tgod $1-
-
/tgod: true
-
#
-
# /cmi time $1-
-
/time: true
-
# /cmi time day $1-
-
/day: true
-
# /cmi time night $1-
-
/night: true
-
# /cmi time morning $1-
-
/morning: true
-
# /cmi time dusk $1-
-
/dusk: true
-
#
-
# /cmi titlemsg $1-
-
/titlemsg: false
-
#
-
# /cmi toast $1-
-
/toast: false
-
#
-
# /cmi togglecompass $1-
-
/togglecompass: false
-
#
-
# /cmi toggleshiftedit $1-
-
/toggleshiftedit: false
-
#
-
# /cmi toggletotem $1-
-
/toggletotem: false
-
#
-
# /cmi top $1-
-
/top: false
-
#
-
# /cmi tp $1-
-
/tp: true
-
#
-
# /cmi tpa $1-
-
/tpa: true
-
#
-
# /cmi tpaall $1-
-
/tpaall: false
-
#
-
# /cmi tpaccept $1-
-
/tpaccept: true
-
#
-
# /cmi tpahere $1-
-
/tpahere: true
-
#
-
# /cmi tpall $1-
-
/tpall: true
-
#
-
# /cmi tpallworld $1-
-
/tpallworld: true
-
#
-
# /cmi tpbypass $1-
-
/tpbypass: true
-
#
-
# /cmi tpdeny $1-
-
/tpdeny: true
-
#
-
# /cmi tphere $1-
-
/tphere: true
-
#
-
# /cmi tpo $1-
-
/tpo: false
-
#
-
# /cmi tpohere $1-
-
/tpohere: true
-
#
-
# /cmi tpopos $1-
-
/tpopos: true
-
#
-
# /cmi tppos $1-
-
/tppos: true
-
#
-
# /cmi tps $1-
-
/tps: false
-
#
-
# /cmi tptoggle $1-
-
/tptoggle: true
-
#
-
# /cmi tree $1-
-
/tree: true
-
#
-
# /cmi unban $1-
-
/unban: true
-
#
-
# /cmi unbreakable $1-
-
/unbreakable: false
-
#
-
# /cmi uncondense $1-
-
/uncondense: false
-
#
-
# /cmi unjail $1-
-
/unjail: true
-
#
-
# /cmi unloadchunks $1-
-
/unloadchunks: true
-
#
-
# /cmi unmute $1-
-
/unmute: true
-
#
-
# /cmi unmutechat $1-
-
/unmutechat: true
-
#
-
# /cmi usermeta $1-
-
/usermeta: false
-
#
-
# /cmi util $1-
-
/util: false
-
#
-
# /cmi vanish $1-
-
/vanish: true
-
/v: false
-
#
-
# /cmi vanishedit $1-
-
/vanishedit: false
-
#
-
# /cmi version $1-
-
/version: false
-
#
-
# /cmi viewrange $1-
-
/viewrange: true
-
#
-
# /cmi voteedit $1-
-
/voteedit: true
-
#
-
# /cmi votes $1-
-
/votes: true
-
#
-
# /cmi votetop $1-
-
/votetop: false
-
#
-
# /cmi walkspeed $1-
-
/walkspeed: false
-
/wspeed: true
-
#
-
# /cmi warn $1-
-
/warn: true
-
#
-
# /cmi warnings $1-
-
/warnings: false
-
#
-
# /cmi warp $1-
-
/warp: true
-
#
-
# /cmi weather $1-
-
/weather: true
-
# /cmi weather sun $1-
-
/sun: true
-
# /cmi weather rain $1-
-
/rain: true
-
# /cmi weather storm $1-
-
/storm: true
-
#
-
# /cmi whowas $1-
-
/whowas: true
-
#
-
# /cmi workbench $1-
-
/workbench: true
-
/wb: true
-
/craft: true
-
#
-
# /cmi world $1-
-
/world: true
-
#
-
# /cmi worth $1-
-
/worth: false