[Question]
  [
Given a word, your task is to compact it by saving its first character and removing any other vowel (aeiou).
# Input
Your input can be the word in STDIN, a function argument or any other input format that doesn't break the [standard loopholes](https://codegolf.meta.stackexchange.com/questions/1061/loopholes-that-are-forbidden-by-default). You can assume the input only consists of lower characters.
# Output
Your output must be the word, compacted.
# Examples
```
i -> i
ate -> at
potato -> ptt
ksboejqfgcrauxpwivtzndlhmy -> ksbjqfgcrxpwvtzndlhmy
```
# Score
This is a code-golf, so shortest answer in bytes wins, good luck!
  
[Answer]
# [05AB1E](https://github.com/Adriandmen/05AB1E), 6 bytes
```
ćsžMм«
```
[Try it online!](https://tio.run/##yy9OTMpM/f//SHvx0X2@F/YcWv3/f0F@SWJJPgA "05AB1E – Try It Online")
# Explanation
```
       Input (e.g.). potato
ć      Head extract. otato, p
 s     Swap        . p, otato
  žM   Vowels      . p, otato, aeiou
    м  Remove      . p, tt
     « Concatenate . ptt
Implicit output    .
```
[Answer]
# [Retina](https://github.com/m-ender/retina/wiki/The-Language), ~~15~~ ~~13~~ 8 bytes
```
0T1,`v`_
```
`T`ransliterates lowercase `v`owels into nothing (`_`) in the `0`th in 0-indexing match of the implicit regex that matches the entire string, after index 1 (`1,`).
[Try it online!](https://tio.run/##K0otycxLNPz/3yDEUCehLCH@///EkozUzOJcAA "Retina – Try It Online")
[Answer]
# [C (gcc)](https://gcc.gnu.org/), ~~57 56~~ 52 bytes
Time to roll out some magic numbers!
*Thanks @Arnauld for even better magic numbers!*
```
f(char*a,char*b){for(*b++=*a;*b=*++a;)b+=4373%*a&1;}
```
[Try it online!](https://tio.run/##HcpLDoIwEADQqxgSTDutCQQTF5OexLiYqRZQKZ@CP8LZq7J6m2d3pbUxOmErGoD0CsvZtYMAVsoAIbABpQglK7MvDkUKtM1xif@7oWOeZSfNK9hQ7YWcgyXvRJKGRJNEJ0izxG4ag/i5RCK254srq/p6uze@7fohjNPj@Xp/vg "C (gcc) – Try It Online")
[Answer]
# [J](http://jsoftware.com/), 15 bytes
```
{.,'aeiou'-.~}.
```
[Try it online!](https://tio.run/##RY3BTsMwEETv/YpRLkulxOIciQtInFAP/IGbbugWxzb1mjZU5deDo1BYaaXRzNudw1QZ6vHQglDjHm3ZxuDp9eV5upiaLEvI1Jjvq5nWK@72AXc1Ca3RtOgxS8yzeTQQH7OCzx1HleBbbEfsuLfZKWZOEqyH1TDUSAEnxpDTfBCddOpGVOydJK0gapYuskpLU1FMv2bUPzcGLQ9vwXvaHj76t@54jqdP/fI7tx/GG1rCwEtscwHkn1hNPw "J – Try It Online")
Straightforward:
* `{.` head...
* `,` catted with...
* `'aeiou'-.~` vowels, set minused from...
* `}.` tail
[Answer]
# [sed](https://www.gnu.org/software/sed/), 14 bytes
```
s/\B[aeiou]//g
```
[Try it online!](https://tio.run/##K05N0U3PK/3/v1g/xik6MTUzvzRWXz/9//9MrsSSVK6C/JLEknyu7OKk/NSswrT05KLE0oqC8syykqq8lJyM3EoA "sed – Try It Online")
---
# [Bash](https://www.gnu.org/software/bash/) + Core utilities, 19 bytes
```
sed s/\\B[aeiou]//g
```
[Try it online!](https://tio.run/##S0oszvj/vzg1RaFYPybGKToxNTO/NFZfP/3//0yuxJJUroL8ksSSfK7s4qT81KzCtPTkosTSioLyzLKSqryUnIzcSgA "Bash – Try It Online")
[Answer]
# [Python 2](https://docs.python.org/2/), 43 bytes
Another 43-byte solution in Python.
```
lambda s:s[0]+s[1:].translate(None,'aeiou')
```
[Try it online!](https://tio.run/##DctBDsIgEADAO6/gVojGWI8kfsEPtI3ZWpBVCgiLWD@Pzn3iRjb4UzPnsTlY5wV4Vnk4Trs89Go6UAKfHZAWl@D1vgONoXSyVYtO814xHhN64kYkqFf0sZCQsiH7FxYDAQX2zHPQj5e53xKUT6z4pq9fnF23Hw "Python 2 – Try It Online")
[Answer]
# [Ruby](https://www.ruby-lang.org/en/), 31 bytes
```
->x{x[0]+x[1..].tr('aeiou','')}
```
Needs to be run on Ruby 2.6 or above, since it uses an endless range.
(TIO is on 2.5.5, so it doesn't work there.)
[Answer]
# Excel, 87 bytes
```
=LET(q,SEQUENCE(LEN(A1)),x,MID(A1,q,1),CONCAT(IF(ISERROR(FIND(x,"aeiou"))+(q=1),x,"")))
```
Hopefully this link works.
[Try it here](https://1drv.ms/x/s!AkqhtBc2XEHJm3v9rEGTcan1-PiT?e=iUq5sb)
[Answer]
# [Python 3](https://docs.python.org/3/), ~~44~~ 43 bytes
```
lambda a,*s:[a]+[c[c in"aeiou":]for c in s]
```
[Try it online!](https://tio.run/##PYoxcoMwEEV7nWJHjcHBNOmYwRchFGtA8Togydq1HcJwdiKRmXT/v/f8LFdn3zdTf2wjTpceAYsjVw22b03XdEBW40DuoavWuAAJALcbTd4FAZ5ZJTySHXYzc8nSk60UABcBapjQZywh4kC@2MuS/UiS6dNZ53kM0XIMD4fy5shmJjvyjn0gK5nRC69wOsMSsxWaZa9rCGur842SIYUypIGivBMUl44XUV98ccPtbj67gI9v/6Kn/Nh@vE5zKqL9c9H8i18 "Python 3 – Try It Online")
**Input**: Characters of the word. E.g `f("a", "t", "e")`  
**Output**: A list of characters.
[Answer]
# [Jelly](https://github.com/DennisMitchell/jelly), 6 [bytes](https://github.com/DennisMitchell/jelly/wiki/Code-page)
```
Ḣ;ḟØẹ$
```
**[Try it online!](https://tio.run/##ASAA3/9qZWxsef//4biiO@G4n8OY4bq5JP///2FiY2RlZmdoaQ "Jelly – Try It Online")**
### How?
```
Ḣ;ḟØẹ$ - Link: list of characters, W
Ḣ      - head & yield
     $ - last two links as a monad - i.e. f(rest of W)
  ḟ    -   filter discard:
   Øẹ  -     lower-case vowels
 ;     - (head of W) concatenate (f(rest of W))
```
[Answer]
# [naz](https://github.com/sporeball/naz), 102 bytes
```
2x1v2a6m8m1a2x2v4a2x3v4a2x4v6a2x5v6a2x6v1x1f1r3x1v2e3x2v1e3x3v1e3x4v1e3x5v1e3x6v1e1o1f0x1x2f0a0x1r1o1f
```
Works for any null-terminated input string.
[Try it online!](https://sporeball.dev/naz/?code=2x1v2a6m8m1a2x2v4a2x3v4a2x4v6a2x5v6a2x6v1x1f1r3x1v2e3x2v1e3x3v1e3x4v1e3x5v1e3x6v1e1o1f0x1x2f0a0x1r1o1f&input=compactify&n=true)
**Explanation** (with `0x` instructions removed)
```
2x1v                                           # Set variable 1 equal to 0
2a6m8m1a2x2v                                   # Set variable 2 equal to 97 ("a")
4a2x3v                                         # Set variable 3 equal to 101 ("e")
4a2x4v                                         # Set variable 4 equal to 105 ("i")
6a2x5v                                         # Set variable 5 equal to 111 ("o")
6a2x6v                                         # Set variable 6 equal to 117 ("u")
1x1f                                           # Function 1
    1r                                         # Read a byte of input
      3x1v2e                                   # Goto function 2 if it equals variable 1
            3x2v1e3x3v1e3x4v1e3x5v1e3x6v1e     # Jump back to the start of the function
                                               # if it equals variable 2, 3, 4, 5, or 6
                                          1o1f # Otherwise, output it, then call the
                                               # function again
1x2f                                           # Function 2
    0a                                         # Add 0 to the register
1r1o                                           # Output the first byte of input
1f                                             # Call function 1
```
[Answer]
# [Erlang (escript)](http://erlang.org/doc/man/escript.html), 26 bytes
```
f([H|T])->[H]++T--"aeiou".
```
[Try it online!](https://tio.run/##Sy3KScxL100tTi7KLCj5z/U/TSPaoyYkVlPXLtojVls7RFdXKTE1M79USe9/bmJmnka8poKuHZcCEGTmW5UXZZakaqRpKBXklySW5Ctpaur9BwA "Erlang (escript) – Try It Online")
## Explanation
```
f([H|T])->       % Match the head & tail of the input string.
[H]              % Wrap the head in a list,
   ++T           % Append the tail
      --"aeiou". % with all vowels removed.
```
[Answer]
# [APL (Dyalog)](https://www.dyalog.com/), 14 bytes
```
⊃,'aieou'~⍨1∘↓
```
[Try it online!](https://tio.run/##SyzI0U2pTMzJT///P@1R24RHXc066omZqfml6nWPelcYPuqY8ahtMlBOQT2xJFWdC0gX5JckluSDmdnFSfmpWYVp6clFiaUVBeWZZSVVeSk5GbmV6gA "APL (Dyalog Unicode) – Try It Online")
[Answer]
# [Haskell](https://www.haskell.org/), 34 bytes
```
f(a:s)=a:[x|x<-s,notElem x"aeiou"]
```
[Try it online!](https://tio.run/##y0gszk7Nyfn/P00j0apY0zbRKrqipsJGt1gnL7/ENSc1V6FCKTE1M79UKfZ/bmJmnoKtQkFpSXBJkU@egopCmoJSYklGamZxrtJ/AA "Haskell – Try It Online")
[Answer]
# [Perl 5](https://www.perl.org/) `-p`, 18 bytes
```
s/(?<!^)[aeiou]//g
```
[Try it online!](https://tio.run/##K0gtyjH9/79YX8PeRjFOMzoxNTO/NFZfP/3//0yuxJJUroL8ksSS/H/5BSWZ@XnF/3ULcgA "Perl 5 – Try It Online")
[Answer]
**APL ([NARS2000 0.5.13.0](http://www.nars2000.org/)), 20 unicode char (so 20 byte or 40 byte?)**
```
(↑,((~∘'aeiou')1∘↓))
```
  
Sample output:
```
      (↑,((~∘'aeiou')1∘↓)) 'i'
i
      (↑,((~∘'aeiou')1∘↓)) 'ate'
at
      (↑,((~∘'aeiou')1∘↓)) 'potato'
ptt
      (↑,((~∘'aeiou')1∘↓)) 'ksboejqfgcrauxpwivtzndlhmy' 
ksbjqfgcrxpwvtzndlhmy
      (↑,((~∘'aeiou')1∘↓)) ''
```
Thanks to the tacit feature added lately.
Since APL code chars are unicode chars, I am not sure if one char should be counted as two byte or not.
[Answer]
# [PHP](https://php.net/), 41 bytes
```
<?=preg_replace("/\\B[aeiou]/","",$argn);
```
[Try it online!](https://tio.run/##K8go@P/fxt62oCg1Pb4otSAnMTlVQ0k/JsYpOjE1M780Vl9JR0lJRyWxKD1P0/r//8SSotTK0n/5BSWZ@XnF/3XdAA "PHP – Try It Online")
I wanted to find an original solution but it ends up like everyone's regex.. Deception is my middle name
[Answer]
# [PowerShell](https://github.com/TryItOnline/TioSetup/wiki/Powershell), 33 30 bytes
-3 bytes thanks to @CommandMaster
```
$args-split"(.)[aeiou]"-join''
```
[Try it online!](https://tio.run/##K8gvTy0qzkjNyfn/XyWxKL1Yt7ggJ7NESUNPMzoxNTO/NFZJNys/M09d/f///4lJRYnZpSkg6j8A "PowerShell – Try It Online")
[Answer]
# [Brachylog](https://github.com/JCumin/Brachylog), 7 bytes
```
h|b;Ḅ∋ᵛ
```
[Try it online!](https://tio.run/##SypKTM6ozMlPN/pfXa6koGunoFRu/6htw6OmpofbFiQ/3NVZ@3DrhP8ZNUnWD3e0POrofrh19v//0UqZSjpKiSWpQLIgvySxJB/IyC5Oyk/NKkxLTy5KLK0oKM8sK6nKS8nJyK0ESqZWlABtSiwG6cgvyUgtgrJz84tSQcxipVgA "Brachylog – Try It Online")
[Generator](https://codegolf.meta.stackexchange.com/questions/2447/default-for-code-golf-input-output-methods/10753#10753).
```
 |         The output is
h          the first element of the input,
 |         or
     ∋ᵛ    some shared element of
 |b        the input without its first element
   ;Ḅ      and the lowercase consonants.
```
[Answer]
# [Factor](https://factorcode.org/), 31 bytes
```
[ 1 cut "aeiou"without append ]
```
[Try it online!](https://tio.run/##DccxDsIwDAXQnVN89QBIrHAAxMKCmBCDSQ0N0NhJHEJBnD10e@9KziS142G3366hic0mTT4YYkXmWDg4zrMsY7OI9QsPMoaKkQke@SJ8j9ebS1TeWv3LPqF/DuOEXzthBVcMHbGX0lVvg8wlVQ49zm0kxbL9AQ "Factor – Try It Online")
## Explanation
It's a quotation (anonymous function) that takes one string as input and leaves one string as output. Assuming `"potato"` is on top of the data stack when this quotation is called...
* `1` Push one to the data stack. **Stack:** `"potato" 1`
* `cut` Cut a sequence into two pieces at a given index. **Stack:** `"p" "otato"`
* `"aeiou"` Push a string to the data stack. **Stack:** `"p" "otato" "aeiou"`
* `without` Remove elements from NOS (next on stack) that are in TOS (top of stack). **Stack:** `"p" "tt"`
* `append` Concatenate two strings. **Stack:** `"ptt"`
[Answer]
# [Red](http://www.red-lang.org), 33 bytes
```
func[s][trim/with next s"aeiou"s]
```
[Try it online!](https://tio.run/##Tcg7EoAgDADR3lMwuYC9x7BlKFCCxg8gBEUvj51jt28jmtqjkaqxXbXZjTIpyZH29iKehcPCIoFG8hmSqiGSY2EFEDRfa8afgmfN/jfWNHhcDjuNUecSLjr5cWab9xvqCw "Red – Try It Online")
[Answer]
# [K (oK)](https://github.com/JohnEarnest/ok), 20 bytes
```
{(*x),(1_x)^"aoeiu"}
```
[Try it online!](https://tio.run/##FcZBEkAgFADQq5i/USYLW@7ChCLhhyKMs2davadz1CHI8iWZp4wUjac1cBTKwRdkShgoqBLgVkQMWm4xTh8timmTQ7dz582lTvus/TwuN9DwAw "K (oK) – Try It Online")
[Answer]
# [Python 3](https://docs.python.org/3/), 61 bytes
```
lambda s:s[0]+''.join(filter(lambda x:x not in'aeiou',s[1:]))
```
[Try it online!](https://tio.run/##PY1BDoIwEEX3nqK7tpEYjTsSTlK7KNDKIMzUdlDw8pWFcfPzkpe8HzceCK8lYHMrk5vb3olcZ3O2RylPIwGqABP7pH5yrVeBxAJQOg@0yCqbS221Luwzdy77LBphJMhKOvb7RmLHtMMjt@THZ7h3yS1rfMOLP9hPw7xJezAxAbIKqEBrESgJ2D/EP2rLFw "Python 3 – Try It Online")
[Answer]
# [Python 3](https://docs.python.org/3/), ~~57~~ 55 bytes
Saved 2 bytes thanks to [ovs](https://codegolf.stackexchange.com/users/64121/ovs)!!! 
```
lambda s:s[0]+''.join(c for c in s[1:]if{c}-{*'aeiou'})
```
[Try it online!](https://tio.run/##PY7BTsMwEETv/oq9rQ1tRCkSUiTzI0kObmpTt6ltvBugRPn2ULeC24zeaPTShQ8xbBen22Uw593eANXUPHWPiNUx@iB7cDFDDz4ANZu6827q5/X0gMb6OOKsFrbEpBFReFi/gReGbQmGRYpsOJaSmMWJdtEeP9x7n834nb78J/@E/XA4X8riSu/sSv6BKLdZyxHb8fn1pccV3ONmi0oUM7OyxU0OFaXBs8TyhepmPRRy06uIs09S/Y3agErVAgg0OGmUgJR9YOlwMnN5mGiGKTekte1mVMvyCw "Python 3 – Try It Online")
[Answer]
# [Charcoal](https://github.com/somebody1234/Charcoal), 12 bytes
```
ΦＳ¬∧κ№aeiouι
```
[Try it online!](https://tio.run/##S85ILErOT8z5/z@gKDOvRMMtM6cktUjDM6@gtCS4BCiUrqGpo@CXX6LhmJeika2j4JxfClSmlJiamV@qpKOQqQkC1v//JyYVJSYnpoCo/7plOQA "Charcoal – Try It Online") Link is to verbose version of code. Explanation:
```
 Ｓ              Input string
Φ ¬             Exclude characters where
     №aeiouι    Character is a vowel
   ∧κ           And index is not zero
                Implicitly print
```
[Answer]
# JavaScript (ES6), ~~27~~ 26 bytes
*Saved 1 byte thanks to @Neil*
Returns a list of characters.
```
s=>s.match(/^.|[^aeiou]/g)
```
[Try it online!](https://tio.run/##jcxLDoIwFIXhuasgTGgHtivAjRhJLqWUIvRWesFH3HttYmIixugZ/9/pYYGgJutp67DRsS1jKHdBjECqY7IS930F2uJ8kIZHhS7goMWAhrUstzkXPVrHioLz7PukzOxmZYH0XzpZoDX2SED42yfs6UMfQ426P7VGTTBf/NkudHPN0I3X98ekU/oMU/aq4gM "JavaScript (Node.js) – Try It Online")
[Answer]
# [Keg](https://github.com/JonoCode9374/Keg) `-ir`, ~~34~~ 16 bytes
Huge saving thanks to Lyxal.
```
,(:⅍`aeiou`-[,|_
```
[Try it online!](https://tio.run/##y05N//9fR8PqUWtvQmJqZn5pgm60Tk38//8FialVmYX5pf91M4sA "Keg – Try It Online")
[Answer]
# [Pyth](https://github.com/isaacg1/pyth), 12 bytes
```
+hQ-tQ"aeiou
```
### Explanation
```
+hQ-tQ"aeiou
    tQ        : Everything except first element of evaluated input
   -  "aeiou  : Remove all occurrences of a, e, i, o and u from the string
+hQ           : Prepend first element of evaluated input
```
[Try it online!](https://tio.run/##K6gsyfj/XzsjULckUCkxNTO/9P9/pezipPzUrMK09OSixNKKgvLMspKqvJScjNxKJQA "Pyth – Try It Online")
[Answer]
# [Ruby](https://www.ruby-lang.org/) `-p`, ~~22~~ 19 bytes
```
gsub /\B[aeiou]/,''
```
[Try it online!](https://tio.run/##BcFNGkAgEADQfaewa8PXHVwDiyLJT5OaQQ5vvJfIFGaXyVSqbzttPdCgaimZvdBoRQTUCGLLBux6zm5Mmp54@wvfMO3LUT6I6CFkbuIP "Ruby – Try It Online")
Thanks to Command Master for -3 bytes.
[Answer]
# [JavaScript (V8)](https://v8.dev/), 42 bytes
```
s=>s[0]+s.substr(1).replace(/[aeiou]/g,'')
```
[Try it online!](https://tio.run/##bco9EsIgEEDh3mOkCYxKtLOJF8mk2CAgEbPILvhzebR20n7vzVCAdPKR9@VUbV@pP9NwGLekKE/ESRylSiYG0EZ0AxiPeezcrm1l1bgQBqMCOmFF4xspN38WkYFxJQCbFb3RhGZ@WKcT5Fd8@sKf5RKu9/dvrl8 "JavaScript (V8) – Try It Online")
]